Checks receipts and invoices for AI generation, edits and resubmission, with proof you can re-check.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer <api_key>. Optional: the create_api_key tool returns a key with free checks, and tools also take api_key as an argument.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
For MCP clients that can't send an Authorization header. Prefer the header.
Public https URL of the receipt image or PDF.
Only needed with image_base64 when the type can't be sniffed.
The file's bytes, base64-encoded (a data: URL prefix is fine). Max 8 MB.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| api_key | string | For MCP clients that can't send an Authorization header. Prefer the header. |
| image_url | string | Public https URL of the receipt image or PDF. |
| mime_type | string | Only needed with image_base64 when the type can't be sniffed. |
| image_base64 | string | The file's bytes, base64-encoded (a data: URL prefix is fine). Max 8 MB. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "For MCP clients that can't send an Authorization header. Prefer the header."
},
"image_url": {
"type": "string",
"description": "Public https URL of the receipt image or PDF."
},
"mime_type": {
"enum": [
"image/jpeg",
"image/png",
"image/webp",
"image/heic",
"image/heif",
"application/pdf"
],
"type": "string",
"description": "Only needed with image_base64 when the type can't be sniffed."
},
"image_base64": {
"type": "string",
"description": "The file's bytes, base64-encoded (a data: URL prefix is fine). Max 8 MB."
}
},
"additionalProperties": true
}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.
No arguments.
{
"type": "object",
"additionalProperties": false
}Returns a new claim_url (valid 30 days) where a person can claim this account and buy credits.
| Argument | Type | Description |
|---|---|---|
| api_key | string | For MCP clients that can't send an Authorization header. Prefer the header. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "For MCP clients that can't send an Authorization header. Prefer the header."
}
},
"additionalProperties": true
}Returns the remaining credits, whether a person has claimed the account, and how many checks it has run.
| Argument | Type | Description |
|---|---|---|
| api_key | string | For MCP clients that can't send an Authorization header. Prefer the header. |
{
"type": "object",
"properties": {
"api_key": {
"type": "string",
"description": "For MCP clients that can't send an Authorization header. Prefer the header."
}
},
"additionalProperties": true
}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).
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| api_key | string | For MCP clients that can't send an Authorization header. Prefer the header. |
| message* | string | What you were trying to do, what happened, what you needed. |
| operation | string | The operation it's about, e.g. check_receipt. |
{
"type": "object",
"required": [
"kind",
"message"
],
"properties": {
"kind": {
"enum": [
"missing_capability",
"wrong_result",
"bug",
"other"
],
"type": "string"
},
"api_key": {
"type": "string",
"description": "For MCP clients that can't send an Authorization header. Prefer the header."
},
"message": {
"type": "string",
"maxLength": 2000,
"minLength": 3,
"description": "What you were trying to do, what happened, what you needed."
},
"operation": {
"type": "string",
"maxLength": 60,
"description": "The operation it's about, e.g. check_receipt."
}
},
"additionalProperties": true
}