Receipt Audit

Checks receipts and invoices for AI generation, edits and resubmission, with proof you can re-check.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
79%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,384토큰 (도구 정의)
~4.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.86%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "receipt-audit": {
      "url": "https://receiptaudit.com/mcp"
    }
  }
}

원격 엔드포인트

https://receiptaudit.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢check_receipt(image_url, image_base64, mime_type, api_key)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "image_url": {
      "type": "string",
      "description": "Public https URL of the receipt image or PDF."
    },
    "image_base64": {
      "type": "string",
      "description": "The file's bytes, base64-encoded (a data: URL prefix is fine). Max 8 MB."
    },
    "mime_type": {
      "type": "string",
      "enum": [
        "image/jpeg",
        "image/png",
        "image/webp",
        "image/heic",
        "image/heif",
        "application/pdf"
      ],
      "description": "Only needed with image_base64 when the type can't be sniffed."
    },
    "api_key": {
      "type": "string",
      "description": "For MCP clients that can't send an Authorization header. Prefer the header."
    }
  },
  "additionalProperties": true
}

출력 스키마

{
  "type": "object",
  "properties": {
    "checkId": {
      "type": "string"
    },
    "fields": {
      "type": "object",
      "properties": {
        "documentType": {
          "type": "string",
          "enum": [
            "receipt",
            "invoice",
            "other"
          ]
        },
        "merchant": {
          "type": "object",
          "properties": {
            "name": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "address": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "country": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "taxId": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            },
            "phone": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ]
            }
          },
          "required": [
            "name",
            "address",
            "country",
            "taxId",
            "phone"
          ],
          "additionalProperties": true
        },
        "date": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "time": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "currency": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "receiptNumber": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "lineItems": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "quantity": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "unitPrice": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "total": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "description",
              "quantity",
              "unitPrice",
              "total"
            ],
            "additionalProperties": true
          }
        },
        "subtotal": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "taxes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "rate": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "amount": {
                "type": "number"
              }
            },
            "required": [
              "label",
              "rate",
              "amount"
            ],
            "additionalProperties": true
          }
        },
        "tip": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "discount": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "total": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "paymentMethod": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "cardLast4": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "documentType",
        "merchant",
        "date",
        "time",
        "currency",
        "receiptNumber",
        "lineItems",
        "subtotal",
        "taxes",
        "tip",
        "discount",
        "total",
        "paymentMethod",
        "cardLast4"
      ],
      "additionalProperties": true
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "passed": {
            "type": "boolean"
          },
          "severity": {
            "type": "string",
            "enum": [
              "info",
              "warn",
              "fail"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "passed",
          "severity",
          "message"
        ],
        "additionalProperties": true
      },
      "description": "Deterministic checks: arithmetic, tax plausibility, dates, currency."
    },
    "authenticity": {
      "type": "object",
      "properties": {
        "risk": {
          "type": "number"
        },
        "signals": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "weight": {
                "type": "number"
              },
              "message": {
                "type": "string"
              },
              "kind": {
                "type": "string",
                "enum": [
                  "verifiable",
                  "opinion"
                ]
              },
              "field": {
                "type": "string",
                "enum": [
                  "merchant",
                  "date",
                  "time",
                  "total",
                  "subtotal",
                  "tax",
                  "line_items",
                  "receipt_number",
                  "payment",
                  "whole_document"
                ]
              }
            },
            "required": [
              "code",
              "weight",
              "message",
              "kind"
            ],
            "additionalProperties": true
          }
        }
      },
      "required": [
        "risk",
        "signals"
      ],
      "additionalProperties": true,
      "description": "risk: 0 = looks genuine, 1 = almost certainly edited, generated or reused. Signals with reasons, not a verdict."
    },
    "duplicate": {
      "type": "object",
      "properties": {
        "image": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "exact",
                    "near"
                  ]
                },
                "distance": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "firstSeen": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "timesSeen": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "seenBySameOwner": {
                  "type": "boolean"
                },
                "seenByOtherOwners": {
                  "type": "boolean"
                }
              },
              "required": [
                "kind",
                "distance",
                "firstSeen",
                "timesSeen",
                "seenBySameOwner",
                "seenByOtherOwners"
              ],
              "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."
            },
            {
              "type": "null"
            }
          ]
        },
        "fields": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "exact",
                    "near"
                  ]
                },
                "distance": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "firstSeen": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "timesSeen": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "enum": [
                        "Infinity",
                        "-Infinity",
                        "NaN"
                      ]
                    }
                  ]
                },
                "seenBySameOwner": {
                  "type": "boolean"
                },
                "seenByOtherOwners": {
                  "type": "boolean"
                }
              },
              "required": [
                "kind",
                "distance",
                "firstSeen",
                "timesSeen",
                "seenBySameOwner",
                "seenByOtherOwners"
              ],
              "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."
            },
            {
              "type": "null"
            }
          ]
        },
        "seenBefore": {
          "type": "boolean"
        }
      },
      "required": [
        "image",
        "fields",
        "seenBefore"
      ],
      "additionalProperties": true
    },
    "meta": {
      "type": "object",
      "properties": {
        "model": {
          "type": "string"
        },
        "ms": {
          "type": "number"
        },
        "inputTokens": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        },
        "outputTokens": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "model",
        "ms",
        "inputTokens",
        "outputTokens"
      ],
      "additionalProperties": true
    },
    "creditsRemaining": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "checkId",
    "fields",
    "checks",
    "authenticity",
    "duplicate",
    "meta",
    "creditsRemaining"
  ],
  "additionalProperties": true
}
🟡create_api_key

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.

입력 스키마

{
  "type": "object",
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Send as Authorization: Bearer <api_key>. Shown once: store it."
    },
    "credits": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991,
      "description": "Free checks included."
    },
    "claim_url": {
      "type": "string",
      "description": "Where a person claims the account and adds credits. Valid 30 days."
    },
    "docs_url": {
      "type": "string"
    },
    "pricing_url": {
      "type": "string"
    }
  },
  "required": [
    "api_key",
    "credits",
    "claim_url",
    "docs_url",
    "pricing_url"
  ],
  "additionalProperties": true
}
🟢get_account(api_key)

Returns the remaining credits, whether a person has claimed the account, and how many checks it has run.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "For MCP clients that can't send an Authorization header. Prefer the header."
    }
  },
  "additionalProperties": true
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "unclaimed",
        "claimed"
      ],
      "description": "unclaimed = no person has bought credits yet."
    },
    "credits": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "checks_run": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "key_prefixes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "status",
    "credits",
    "checks_run",
    "key_prefixes"
  ],
  "additionalProperties": true
}
⚪report_feedback(kind, message, operation, api_key)

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).

입력 스키마

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "missing_capability",
        "wrong_result",
        "bug",
        "other"
      ]
    },
    "message": {
      "type": "string",
      "minLength": 3,
      "maxLength": 2000,
      "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."
    },
    "api_key": {
      "type": "string",
      "description": "For MCP clients that can't send an Authorization header. Prefer the header."
    }
  },
  "required": [
    "kind",
    "message"
  ],
  "additionalProperties": true
}

출력 스키마

{
  "type": "object",
  "properties": {
    "received": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    }
  },
  "required": [
    "received",
    "id"
  ],
  "additionalProperties": true
}
🟡create_claim_link(api_key)

Returns a new claim_url (valid 30 days) where a person can claim this account and buy credits.

입력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "For MCP clients that can't send an Authorization header. Prefer the header."
    }
  },
  "additionalProperties": true
}

출력 스키마

{
  "type": "object",
  "properties": {
    "claim_url": {
      "type": "string",
      "description": "Where a person claims this account and buys credits. Valid 30 days."
    }
  },
  "required": [
    "claim_url"
  ],
  "additionalProperties": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개