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 stringtaggun_list_campaigns에서
  • LOWTool 'taggun_validate_receipt_campaign_url' name length outside 3-30 rangetaggun_validate_receipt_campaign_url에서

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

컨텍스트 비용

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

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

설치

원클릭 설치

`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개