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 個工具