Taggun MCP by usefulapi

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
88%
Calidad de los nombres
77%
Riesgo de envenenamiento
80%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains suspicious base64-like encoded stringen taggun_list_campaigns
  • LOWTool 'taggun_validate_receipt_campaign_url' name length outside 3-30 rangeen taggun_validate_receipt_campaign_url

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,024Tokens (definiciones de herramientas)
~2.3 KBTamaño de respuesta típico
Impacto moderado en la atención (1.58% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

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

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟡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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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}.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas