Taggun MCP by usefulapi
Scan receipts with Taggun OCR from a URL or file and read receipt-validation campaigns.
使うべきか
品質と安全性
検出事項(3)
- HIGH
- MEDIUMtaggun_list_campaigns 内
- LOWtaggun_validate_receipt_campaign_url 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `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"
}コミュニティ
エビデンス