Server definition
- Hash
- sha256:d59b065744908b196ce3dbab3d6346fe1fa4f7c3a556ad45536d676ca6dc9ad4
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "Receipt Audit checks receipts and invoices. If you have no API key, call create_api_key once and store the key; give its claim_url to your human. Then call check_receipt with image_url or image_base64. Treat authenticity.risk as triage, not a verdict. Out of credits returns a claim_url for your human.",
"tools": [
{
"description": "Extracts the fields of a receipt or invoice (image or PDF, by https URL or base64), checks its arithmetic, tax rate and dates, scores signs that it was edited or AI-generated (with reasons), and reports whether the same receipt was submitted before. Costs 1 credit, refunded if the file can't be read.",
"inputSchema": {
"additionalProperties": true,
"properties": {
"api_key": {
"description": "For MCP clients that can't send an Authorization header. Prefer the header.",
"type": "string"
},
"image_base64": {
"description": "The file's bytes, base64-encoded (a data: URL prefix is fine). Max 8 MB.",
"type": "string"
},
"image_url": {
"description": "Public https URL of the receipt image or PDF.",
"type": "string"
},
"mime_type": {
"description": "Only needed with image_base64 when the type can't be sniffed.",
"enum": [
"image/jpeg",
"image/png",
"image/webp",
"image/heic",
"image/heif",
"application/pdf"
],
"type": "string"
}
},
"type": "object"
},
"name": "check_receipt",
"outputSchema": {
"additionalProperties": true,
"properties": {
"authenticity": {
"additionalProperties": true,
"description": "risk: 0 = looks genuine, 1 = almost certainly edited, generated or reused. Signals with reasons, not a verdict.",
"properties": {
"risk": {
"type": "number"
},
"signals": {
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"field": {
"enum": [
"merchant",
"date",
"time",
"total",
"subtotal",
"tax",
"line_items",
"receipt_number",
"payment",
"whole_document"
],
"type": "string"
},
"kind": {
"enum": [
"verifiable",
"opinion"
],
"type": "string"
},
"message": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"code",
"weight",
"message",
"kind"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"risk",
"signals"
],
"type": "object"
},
"checkId": {
"type": "string"
},
"checks": {
"description": "Deterministic checks: arithmetic, tax plausibility, dates, currency.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"passed": {
"type": "boolean"
},
"severity": {
"enum": [
"info",
"warn",
"fail"
],
"type": "string"
}
},
"required": [
"code",
"passed",
"severity",
"message"
],
"type": "object"
},
"type": "array"
},
"creditsRemaining": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"duplicate": {
"additionalProperties": true,
"properties": {
"fields": {
"anyOf": [
{
"additionalProperties": true,
"description": "kind: exact = same image or same fields; near = the same photo re-compressed, cropped or re-shot. distance: differing bits between image hashes (0 = identical). firstSeen: Unix ms. seenByOtherOwners: a different account (or web user) checked it before.",
"properties": {
"distance": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"firstSeen": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"kind": {
"enum": [
"exact",
"near"
],
"type": "string"
},
"seenByOtherOwners": {
"type": "boolean"
},
"seenBySameOwner": {
"type": "boolean"
},
"timesSeen": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
}
},
"required": [
"kind",
"distance",
"firstSeen",
"timesSeen",
"seenBySameOwner",
"seenByOtherOwners"
],
"type": "object"
},
{
"type": "null"
}
]
},
"image": {
"anyOf": [
{
"additionalProperties": true,
"description": "kind: exact = same image or same fields; near = the same photo re-compressed, cropped or re-shot. distance: differing bits between image hashes (0 = identical). firstSeen: Unix ms. seenByOtherOwners: a different account (or web user) checked it before.",
"properties": {
"distance": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"firstSeen": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
},
"kind": {
"enum": [
"exact",
"near"
],
"type": "string"
},
"seenByOtherOwners": {
"type": "boolean"
},
"seenBySameOwner": {
"type": "boolean"
},
"timesSeen": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
}
},
"required": [
"kind",
"distance",
"firstSeen",
"timesSeen",
"seenBySameOwner",
"seenByOtherOwners"
],
"type": "object"
},
{
"type": "null"
}
]
},
"seenBefore": {
"type": "boolean"
}
},
"required": [
"image",
"fields",
"seenBefore"
],
"type": "object"
},
"fields": {
"additionalProperties": true,
"properties": {
"cardLast4": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"currency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"discount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"documentType": {
"enum": [
"receipt",
"invoice",
"other"
],
"type": "string"
},
"lineItems": {
"items": {
"additionalProperties": true,
"properties": {
"description": {
"type": "string"
},
"quantity": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"unitPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"description",
"quantity",
"unitPrice",
"total"
],
"type": "object"
},
"type": "array"
},
"merchant": {
"additionalProperties": true,
"properties": {
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"country": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"phone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"taxId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"address",
"country",
"taxId",
"phone"
],
"type": "object"
},
"paymentMethod": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"receiptNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subtotal": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"taxes": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"type": "number"
},
"label": {
"type": "string"
},
"rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"label",
"rate",
"amount"
],
"type": "object"
},
"type": "array"
},
"time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"tip": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"documentType",
"merchant",
"date",
"time",
"currency",
"receiptNumber",
"lineItems",
"subtotal",
"taxes",
"tip",
"discount",
"total",
"paymentMethod",
"cardLast4"
],
"type": "object"
},
"meta": {
"additionalProperties": true,
"properties": {
"inputTokens": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"model": {
"type": "string"
},
"ms": {
"type": "number"
},
"outputTokens": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"required": [
"model",
"ms",
"inputTokens",
"outputTokens"
],
"type": "object"
}
},
"required": [
"checkId",
"fields",
"checks",
"authenticity",
"duplicate",
"meta",
"creditsRemaining"
],
"type": "object"
}
},
{
"description": "Returns a new API key with 50 free checks, and a claim_url where a person can take over the account and add prepaid credits. One key serves every later call.",
"inputSchema": {
"additionalProperties": false,
"type": "object"
},
"name": "create_api_key",
"outputSchema": {
"additionalProperties": true,
"properties": {
"api_key": {
"description": "Send as Authorization: Bearer <api_key>. Shown once: store it.",
"type": "string"
},
"claim_url": {
"description": "Where a person claims the account and adds credits. Valid 30 days.",
"type": "string"
},
"credits": {
"description": "Free checks included.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"docs_url": {
"type": "string"
},
"pricing_url": {
"type": "string"
}
},
"required": [
"api_key",
"credits",
"claim_url",
"docs_url",
"pricing_url"
],
"type": "object"
}
},
{
"description": "Returns a new claim_url (valid 30 days) where a person can claim this account and buy credits.",
"inputSchema": {
"additionalProperties": true,
"properties": {
"api_key": {
"description": "For MCP clients that can't send an Authorization header. Prefer the header.",
"type": "string"
}
},
"type": "object"
},
"name": "create_claim_link",
"outputSchema": {
"additionalProperties": true,
"properties": {
"claim_url": {
"description": "Where a person claims this account and buys credits. Valid 30 days.",
"type": "string"
}
},
"required": [
"claim_url"
],
"type": "object"
}
},
{
"description": "Returns the remaining credits, whether a person has claimed the account, and how many checks it has run.",
"inputSchema": {
"additionalProperties": true,
"properties": {
"api_key": {
"description": "For MCP clients that can't send an Authorization header. Prefer the header.",
"type": "string"
}
},
"type": "object"
},
"name": "get_account",
"outputSchema": {
"additionalProperties": true,
"properties": {
"checks_run": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"credits": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"key_prefixes": {
"items": {
"type": "string"
},
"type": "array"
},
"status": {
"description": "unclaimed = no person has bought credits yet.",
"enum": [
"unclaimed",
"claimed"
],
"type": "string"
}
},
"required": [
"status",
"credits",
"checks_run",
"key_prefixes"
],
"type": "object"
}
},
{
"description": "Report a missing capability, a wrong result or a bug in a sentence or two. A person reads every report. Free, no key needed (send yours to link the report to your account).",
"inputSchema": {
"additionalProperties": true,
"properties": {
"api_key": {
"description": "For MCP clients that can't send an Authorization header. Prefer the header.",
"type": "string"
},
"kind": {
"enum": [
"missing_capability",
"wrong_result",
"bug",
"other"
],
"type": "string"
},
"message": {
"description": "What you were trying to do, what happened, what you needed.",
"maxLength": 2000,
"minLength": 3,
"type": "string"
},
"operation": {
"description": "The operation it's about, e.g. check_receipt.",
"maxLength": 60,
"type": "string"
}
},
"required": [
"kind",
"message"
],
"type": "object"
},
"name": "report_feedback",
"outputSchema": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"received": {
"type": "boolean"
}
},
"required": [
"received",
"id"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d59b065744908b196ce3dbab3d6346fe1fa4f7c3a556ad45536d676ca6dc9ad4 | sha256sum