Taggun MCP by usefulapi

Scan receipts with Taggun OCR from a URL or file and read receipt-validation campaigns.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
88%
命名质量
77%
投毒风险
80%
权限匹配度
100%
协议合规性
100%

发现(3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded string在 taggun_list_campaigns 中
  • LOWTool 'taggun_validate_receipt_campaign_url' name length outside 3-30 range在 taggun_validate_receipt_campaign_url 中

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,024token 数(工具定义)
~2.3 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.58%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "taggun": {
      "url": "https://taggun.usefulapi.io/mcp"
    }
  }
}

远程端点

https://taggun.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟡taggun_scan_receipt_url(url, detail, extract_time, extract_line_items, ignore_merchant_name, ...)

WRITE: this scan counts against YOUR Taggun quota and plan (free for the first 30 days or 1,000 scans, then billed per scan by Taggun), even if the receipt fails validation; it is never retried automatically. Document content is not logged by this server. Extract structured data (merchant, date, total, tax, and in verbose mode line items) from a receipt or invoice at a public https URL (JPEG, PNG, GIF, HEIF/HEIC or PDF up to 5 pages, max 20 MiB). The URL must be a public host name: no IP addresses, localhost, internal names, credentials or non-default ports. POST /api/receipt/v1/{simple|verbose}/url.

输入模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2000,
      "description": "Public https URL of the receipt or invoice file."
    },
    "detail": {
      "description": "simple (default) = totals, tax, date and merchant. verbose = also line items, payment type, per-field metadata and enabled fraud/feature fields.",
      "type": "string",
      "enum": [
        "simple",
        "verbose"
      ]
    },
    "extract_time": {
      "description": "true = return the time of day when found on the receipt (otherwise 12:00:00).",
      "type": "boolean"
    },
    "extract_line_items": {
      "description": "Verbose only: false = skip line-item extraction (default true).",
      "type": "boolean"
    },
    "ignore_merchant_name": {
      "description": "A name to ignore if detected as the merchant, such as a customer name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "language": {
      "description": "Optional language hint (en, ar, kh, th, he, ...). Leave out for automatic detection.",
      "type": "string",
      "minLength": 2,
      "maxLength": 10,
      "pattern": "^[A-Za-z-]+$"
    },
    "near": {
      "description": "A location (city, state, country) that helps identify the merchant.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "keep_stored": {
      "description": "Default false: the document and its extracted data are NOT stored by Taggun (incognito). true = Taggun stores them (up to 3 years), which enables later duplicate/similarity detection but keeps personal data from the receipt.",
      "type": "boolean"
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡taggun_scan_receipt_base64(image_base64, content_type, filename, detail, extract_time, ...)

WRITE: this scan counts against YOUR Taggun quota and plan (free for the first 30 days or 1,000 scans, then billed per scan by Taggun), even if the receipt fails validation; it is never retried automatically. Document content is not logged by this server. Extract structured data from a receipt or invoice sent as base64 (JPEG, PNG, GIF, HEIF/HEIC or PDF; the base64 text is capped at 2,000,000 characters, about 1.5 MB of file; for larger files use taggun_scan_receipt_url). POST /api/receipt/v1/{simple|verbose}/encoded.

输入模式

{
  "type": "object",
  "properties": {
    "image_base64": {
      "type": "string",
      "minLength": 16,
      "maxLength": 2000200,
      "description": "The file content, base64-encoded (a data: URL prefix is accepted)."
    },
    "content_type": {
      "type": "string",
      "enum": [
        "image/jpeg",
        "image/png",
        "image/gif",
        "image/heic",
        "image/heif",
        "application/pdf"
      ],
      "description": "The file's media type."
    },
    "filename": {
      "description": "File name, for example receipt.jpg (default derived from content_type).",
      "type": "string",
      "maxLength": 120
    },
    "detail": {
      "description": "simple (default) = totals, tax, date and merchant. verbose = also line items, payment type, per-field metadata and enabled fraud/feature fields.",
      "type": "string",
      "enum": [
        "simple",
        "verbose"
      ]
    },
    "extract_time": {
      "description": "true = return the time of day when found on the receipt (otherwise 12:00:00).",
      "type": "boolean"
    },
    "extract_line_items": {
      "description": "Verbose only: false = skip line-item extraction (default true).",
      "type": "boolean"
    },
    "ignore_merchant_name": {
      "description": "A name to ignore if detected as the merchant, such as a customer name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "language": {
      "description": "Optional language hint (en, ar, kh, th, he, ...). Leave out for automatic detection.",
      "type": "string",
      "minLength": 2,
      "maxLength": 10,
      "pattern": "^[A-Za-z-]+$"
    },
    "near": {
      "description": "A location (city, state, country) that helps identify the merchant.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "keep_stored": {
      "description": "Default false: the document and its extracted data are NOT stored by Taggun (incognito). true = Taggun stores them (up to 3 years), which enables later duplicate/similarity detection but keeps personal data from the receipt.",
      "type": "boolean"
    }
  },
  "required": [
    "image_base64",
    "content_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡taggun_validate_receipt_campaign_url(campaign_id, url, language, near, keep_stored)

WRITE: this scan counts against YOUR Taggun quota and plan (free for the first 30 days or 1,000 scans, then billed per scan by Taggun), even if the receipt fails validation; it is never retried automatically. Document content is not logged by this server. Scan a receipt at a public https URL and check it against the rules of a campaign stored on your Taggun account (dates, merchants, products, balance owing, fraud checks). Returns pass/fail with reasons. Needs the Campaign Validation feature on your Taggun plan; use taggun_list_campaigns for the ids. Same URL rules as taggun_scan_receipt_url. POST /api/validation/v1/campaign/receipt-validation/url.

输入模式

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "A campaign id from taggun_list_campaigns."
    },
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2000,
      "description": "Public https URL of the receipt or invoice file."
    },
    "language": {
      "description": "Optional language hint (en, ar, kh, th, he, ...). Leave out for automatic detection.",
      "type": "string",
      "minLength": 2,
      "maxLength": 10,
      "pattern": "^[A-Za-z-]+$"
    },
    "near": {
      "description": "A location (city, state, country) that helps identify the merchant.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "keep_stored": {
      "description": "Default false: the document and its extracted data are NOT stored by Taggun (incognito). true = Taggun stores them (up to 3 years), which enables later duplicate/similarity detection but keeps personal data from the receipt.",
      "type": "boolean"
    }
  },
  "required": [
    "campaign_id",
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢taggun_list_campaigns

List the ids of the receipt-validation campaigns stored on your Taggun account (an empty list is normal). Does not use a scan. Needs the Campaign Validation feature; without it Taggun answers that the feature must be enabled. GET /api/validation/v1/campaign/settings/list.

输入模式

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢taggun_get_campaign(campaign_id)

The stored validation rules of one campaign (dates, merchants, products, fraud checks, SmartValidate prompts). Does not use a scan. GET /api/validation/v1/campaign/settings/{campaignId}.

输入模式

{
  "type": "object",
  "properties": {
    "campaign_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "A campaign id from taggun_list_campaigns."
    }
  },
  "required": [
    "campaign_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢taggun_export_reference_data(kind)

Read the reference data stored on your Taggun account as CSV: product_categories (the category taxonomy), known_merchants (merchant names and locations used for matching) or product_codes (expected product codes). Read-only; does not use a scan. The text is cut at 40,000 characters. GET /api/account/v1/{product-categories|known-merchants|known-product-codes}/export.

输入模式

{
  "type": "object",
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "product_categories",
        "known_merchants",
        "product_codes"
      ],
      "description": "Which list to export."
    }
  },
  "required": [
    "kind"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具