Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,547Letters: 14Defects: 1,324counted 2 min ago
teppi

Server definition

Hash
sha256:9c86538132a4e455fc9933bb2d31192e1e51f26e7e7f6a4d35e0acc8931bc539
What it is
What a remote MCP server returned when asked what it offers: 9 tools

The blob, as servednamed by its sha256

{ "instructions": "tilwhen answers date questions deterministically and shows its working.\n\nEvery tool returns a receipt alongside the answer: the normalized operation, the\npinned input dates, the IANA timezone, the counting convention, the working week,\nthe holiday calendar with each excluded holiday itemised, the primary sources with\nretrieval dates, engine and dataset versions, and a stable result ID that is a\ndeterministic hash of inputs and versions. Cite the answer with its validFor date,\ntimezone and result ID; the same question under the same versions reproduces it.\n\nConventions that change answers, so state them when you report one:\n- Whole calendar days, midnight to midnight, in the requested IANA timezone.\n `tz` is an explicit input and defaults to UTC; it is the only thing that decides\n which calendar day \"today\" is. Pass the user's timezone when you know it.\n- Counting is exclusive: today is day 0 and is not counted.\n- Business days exclude the start day and include the end day.\n- There is NO default holiday calendar. Omit the jurisdiction and no holidays are\n excluded, and the receipt says so. Never infer one from a timezone or a locale;\n ask the user which calendar they mean.\n- Holidays whose date is declared per year rather than fixed by rule are included\n only for officially declared years. A span crossing an undeclared year returns a\n holiday_data_incomplete warning; report the warning rather than the bare number.\n\nPrefer these tools over computing dates yourself: the failure mode of doing this\narithmetic in your head is a confident answer that is wrong by one day.", "tools": [ { "description": "The date N whole calendar days after a date (exclusive counting: the start date is day 0). Omit date for today in tz. For working days use business_days; for the gap between two dates use days_between.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "date": { "default": "today", "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "days": { "description": "Whole calendar days to add. Negative counts backwards.", "maximum": 100000, "minimum": -100000, "type": "integer" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" } }, "required": [ "days" ], "type": "object" }, "name": "add_days", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "Span mode (from+to): business days between two dates, exclusive of the start day, inclusive of the end day. Add mode (days, optional date): the date N business days away. Passing from or to selects span mode and needs both; days and date are then ignored, so add mode takes its start date in date, not from. Optional holiday jurisdiction or custom calendar, and a selectable working week. For calendar days use add_days, subtract_days or days_between.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "customHolidays": { "description": "Custom organizational holiday calendar as ISO dates (mutually exclusive with jurisdiction)", "items": { "type": "string" }, "maxItems": 1000, "type": "array" }, "date": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "days": { "description": "Add mode: business days to move. Negative counts backwards.", "maximum": 100000, "minimum": -100000, "type": "integer" }, "from": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "jurisdiction": { "description": "Holiday jurisdiction id: US, GB, GB-SCT, GB-NIR, IE, FR, CA, AU, UG (alias UK for GB). No default: omit for no holiday calendar.", "maxLength": 8, "type": "string" }, "to": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" }, "workweek": { "description": "Working week. Default mon-fri (Sat+Sun weekend).", "enum": [ "mon-fri", "sun-thu", "mon-sat" ], "type": "string" } }, "type": "object" }, "name": "business_days", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "Signed whole calendar days from the from date to the to date, midnight to midnight in tz: positive when to is later, negative when it is earlier. Endpoints are exclusive, so this is the gap and consecutive dates are 1 apart. Either date may be \"today\", resolved in tz. For working days between two dates use business_days; to move a date by N days use add_days or subtract_days.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "from": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "to": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" } }, "required": [ "from", "to" ], "type": "object" }, "name": "days_between", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "Runs any operation and returns the receipt plus human-readable derivation steps. Set op, then pass the fields that operation's own tool takes. Use it when the user asks how an answer was reached.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "customHolidays": { "description": "Custom organizational holiday calendar as ISO dates (mutually exclusive with jurisdiction)", "items": { "type": "string" }, "maxItems": 1000, "type": "array" }, "date": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "days": { "description": "Day count for add_days, subtract_days and business_days add mode.", "maximum": 100000, "minimum": -100000, "type": "integer" }, "event": { "description": "Event slug (e.g. christmas). Exactly one of event/weekday.", "maxLength": 40, "type": "string" }, "from": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "invoiceDate": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "jurisdiction": { "description": "Holiday jurisdiction id: US, GB, GB-SCT, GB-NIR, IE, FR, CA, AU, UG (alias UK for GB). No default: omit for no holiday calendar.", "maxLength": 8, "type": "string" }, "net": { "description": "Net-N payment terms in calendar days (Net 30 = 30).", "maximum": 3650, "minimum": 0, "type": "integer" }, "op": { "description": "Operation to explain. holiday_lookup is the holidays tool; the others share their tool's name.", "enum": [ "add_days", "subtract_days", "days_between", "business_days", "invoice_due", "next_occurrence", "holiday_lookup" ], "type": "string" }, "roll": { "description": "Roll a weekend or holiday due date forward to the next business day. Default false.", "type": "boolean" }, "to": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" }, "weekday": { "description": "0 = Sunday .. 6 = Saturday. Exactly one of event/weekday.", "maximum": 6, "minimum": 0, "type": "integer" }, "workweek": { "description": "Working week. Default mon-fri (Sat+Sun weekend).", "enum": [ "mon-fri", "sun-thu", "mon-sat" ], "type": "string" }, "year": { "description": "Calendar year for holiday_lookup, e.g. 2027", "maximum": 3000, "minimum": 1600, "type": "integer" } }, "required": [ "op" ], "type": "object" }, "name": "explain", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "receipt": { "additionalProperties": true, "description": "Auditable receipt for the operation", "properties": {}, "type": "object" }, "steps": { "description": "Human-readable derivation, identical to the REST /api/v1/explain output", "items": { "type": "string" }, "type": "array" } }, "required": [ "receipt", "steps" ], "type": "object" } }, { "description": "Observed public holidays with the nominal (legal) date and status: rule (statutory) or declared (officially declared for that year). Declared-only holidays are omitted for undeclared years, with a holiday_data_incomplete warning.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "jurisdiction": { "description": "Holiday jurisdiction id: US, GB, GB-SCT, GB-NIR, IE, FR, CA, AU, UG (alias UK for GB).", "maxLength": 8, "type": "string" }, "year": { "description": "Calendar year to list, e.g. 2027", "maximum": 3000, "minimum": 1600, "type": "integer" } }, "required": [ "jurisdiction", "year" ], "type": "object" }, "name": "holidays", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "Due date for Net-N payment terms (calendar days, invoice date = day 0). Optional roll-forward past weekends and, with a jurisdiction or custom calendar, public holidays.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "customHolidays": { "description": "Custom organizational holiday calendar as ISO dates (mutually exclusive with jurisdiction)", "items": { "type": "string" }, "maxItems": 1000, "type": "array" }, "invoiceDate": { "default": "today", "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "jurisdiction": { "description": "Holiday jurisdiction id: US, GB, GB-SCT, GB-NIR, IE, FR, CA, AU, UG (alias UK for GB). No default: omit for no holiday calendar.", "maxLength": 8, "type": "string" }, "net": { "description": "Net-N payment terms in calendar days (Net 30 = 30).", "maximum": 3650, "minimum": 0, "type": "integer" }, "roll": { "description": "Roll a weekend or holiday due date forward to the next business day. Default false.", "type": "boolean" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" }, "workweek": { "description": "Working week. Default mon-fri (Sat+Sun weekend).", "enum": [ "mon-fri", "sun-thu", "mon-sat" ], "type": "string" } }, "required": [ "net" ], "type": "object" }, "name": "invoice_due", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "The next occurrence strictly after the base date (default today) of either a tracked event slug (e.g. \"christmas\") or a weekday (0 = Sunday .. 6 = Saturday). Provide exactly one of event/weekday.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "event": { "description": "Event slug (e.g. christmas). Exactly one of event/weekday.", "maxLength": 40, "type": "string" }, "from": { "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" }, "weekday": { "description": "0 = Sunday .. 6 = Saturday. Exactly one of event/weekday.", "maximum": 6, "minimum": 0, "type": "integer" } }, "type": "object" }, "name": "next_occurrence", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } }, { "description": "Parses queries like \"90 business days from today in uganda\" into a normalized operation, answers it, and returns the auditable receipt. Ambiguous dates (03/04/2027) return needsClarification instead of a guess.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "locale": { "description": "Resolves ambiguous slash dates; omit to receive clarification choices", "enum": [ "mdy", "dmy" ], "type": "string" }, "q": { "description": "The date question in plain language. Pass the user's wording rather than a date you computed.", "maxLength": 200, "minLength": 1, "type": "string" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" } }, "required": [ "q" ], "type": "object" }, "name": "parse_date_query", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer, absent when parsed is null", "properties": {}, "type": "object" }, "canonicalUrl": { "description": "tilwhen page that answers this query, to cite; null when no page covers it", "type": [ "string", "null" ] }, "confidence": { "description": "1.0 is a clean grammar hit; below 0.5 the query is refused rather than guessed", "type": "number" }, "needsClarification": { "additionalProperties": true, "description": "Present when the query is genuinely ambiguous (e.g. 03/04/2027); offers explicit choices instead of a guess", "properties": {}, "type": "object" }, "parsed": { "anyOf": [ { "additionalProperties": true, "properties": {}, "type": "object" }, { "type": "null" } ], "description": "Normalized operation, or null when the query could not be understood confidently" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt, absent when parsed is null", "properties": {}, "type": "object" }, "warnings": { "description": "Machine-readable notes, e.g. unsupported_unit or time_ignored", "items": { "type": "string" }, "type": "array" } }, "required": [ "parsed", "confidence", "warnings" ], "type": "object" } }, { "description": "The date N whole calendar days before a date (exclusive counting: the start date is day 0). Omit date for today in tz. For working days use business_days; for the gap between two dates use days_between.", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "date": { "default": "today", "description": "ISO date YYYY-MM-DD, or \"today\" (resolved in tz)", "pattern": "^(\\d{4}-\\d{2}-\\d{2}|today)$", "type": "string" }, "days": { "description": "Whole calendar days to subtract. Negative counts forwards.", "maximum": 100000, "minimum": -100000, "type": "integer" }, "tz": { "default": "UTC", "description": "IANA timezone that defines \"today\" (e.g. Africa/Kampala). Default UTC.", "maxLength": 64, "type": "string" } }, "required": [ "days" ], "type": "object" }, "name": "subtract_days", "outputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "answer": { "additionalProperties": true, "description": "The calculated answer (kind-discriminated)", "properties": {}, "type": "object" }, "receipt": { "additionalProperties": true, "description": "Auditable receipt: inputs, timezone, convention, workweek, holiday calendar, exclusions, versions, stable result ID", "properties": {}, "type": "object" } }, "required": [ "answer", "receipt" ], "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:9c86538132a4e455fc9933bb2d31192e1e51f26e7e7f6a4d35e0acc8931bc539 | sha256sum