Docparser MCP by usefulapi

Run Docparser parsers: import documents by URL or upload, check status, read parsed results.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
98%
Integridad del esquema
84%
Calidad de los nombres
76%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (2)

  • LOWTool 'docparser_list_document_results' name length outside 3-30 rangeen docparser_list_document_results
  • LOWTool 'docparser_fetch_document_from_url' name length outside 3-30 rangeen docparser_fetch_document_from_url

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

Costo de contexto

~2,270Tokens (definiciones de herramientas)
~1.6 KBTamaño de respuesta típico
Impacto moderado en la atención (1.77% 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": {
    "docparser": {
      "url": "https://docparser.usefulapi.io/mcp"
    }
  }
}

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢docparser_ping

Check that the connected Docparser API key works. Returns {msg: "pong"} when it does. GET /v1/ping.

Esquema de entrada

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

List all Document Parsers on the account (id and label). Start here: the parser id is needed by every other tool. GET /v1/parsers.

Esquema de entrada

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

List the model layouts of one parser (id and label). GET /v1/parser/models/{parser_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    }
  },
  "required": [
    "parser_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢docparser_get_document_status(parser_id, document_id)

Processing status of one document: importing/processing flags, page count, timestamps (uploaded, imported, processed), webhook dispatch and failed jobs. Poll this after a fetch/upload: the document is done when importing_in_progress and processing_in_progress are false, processed_at is set and failed_jobs is empty (a non-empty failed_jobs means it failed); then read the results. GET /v2/document/status/{parser_id}/{document_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "document_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser document id (the `id` / `document_id` of an uploaded document)."
    }
  },
  "required": [
    "parser_id",
    "document_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢docparser_get_document_results(parser_id, document_id, format, include_children)

The parsed data of one document (the fields and tables the parser extracted, plus file name, page count and upload/processing times). Docparser allows 60 of these calls per minute. GET /v1/results/{parser_id}/{document_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "document_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser document id (the `id` / `document_id` of an uploaded document)."
    },
    "format": {
      "description": "`object` (default): nested data. `flat`: simple key/value pairs.",
      "type": "string",
      "enum": [
        "object",
        "flat"
      ]
    },
    "include_children": {
      "description": "Also return data of child documents created during preprocessing (for example split documents).",
      "type": "boolean"
    }
  },
  "required": [
    "parser_id",
    "document_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢docparser_list_document_results(parser_id, list, date, limit, offset, ...)

Parsed data of several documents of one parser: the last uploaded ones (default), or those uploaded/processed after a date. Returns up to 100 documents per call; page with offset (next_offset is null on the last page). Docparser allows 30 of these calls per minute. GET /v1/results/{parser_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "list": {
      "description": "Which documents (default last_uploaded). uploaded_after and processed_after need `date`.",
      "type": "string",
      "enum": [
        "last_uploaded",
        "uploaded_after",
        "processed_after"
      ]
    },
    "date": {
      "description": "ISO 8601 date-time (e.g. 2026-10-01T00:00:00Z) or a Unix timestamp. Required with list=uploaded_after or processed_after.",
      "type": "string",
      "minLength": 8,
      "maxLength": 40
    },
    "limit": {
      "description": "Documents per call, 1-100 (default 10).",
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "offset": {
      "description": "Skip this many documents (default 0). Pass the previous reply's next_offset.",
      "type": "integer",
      "minimum": 0,
      "maximum": 100000
    },
    "remote_id": {
      "description": "Only documents uploaded with this remote_id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "include_processing_queue": {
      "description": "Also include documents that are not fully processed yet.",
      "type": "boolean"
    },
    "sort_by": {
      "description": "Sort field (default: upload order).",
      "type": "string",
      "enum": [
        "parsed_at",
        "processed_at",
        "uploaded_at",
        "first_processed_at",
        "imported_at",
        "integrated_at",
        "dispatched_webhook_at",
        "preprocessed_at"
      ]
    },
    "sort_order": {
      "description": "Default DESC.",
      "type": "string",
      "enum": [
        "ASC",
        "DESC"
      ]
    },
    "format": {
      "description": "`object` (default): nested data. `flat`: simple key/value pairs.",
      "type": "string",
      "enum": [
        "object",
        "flat"
      ]
    }
  },
  "required": [
    "parser_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡docparser_fetch_document_from_url(parser_id, url, remote_id)

WRITE: ask Docparser to download a document from a publicly reachable URL and parse it with the given parser. Uses page credits of the account's plan (documents queue when credits run out). Docparser may buy extra credits by itself only if the account owner turned on automatic credit replenishment, or the account is on an annual plan that renews early when credits run out - check the Docparser billing settings first. This server never buys credits or changes the plan. Returns the new document_id: poll docparser_get_document_status, then read docparser_get_document_results. POST /v2/document/fetch/{parser_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "url": {
      "type": "string",
      "minLength": 8,
      "maxLength": 2000,
      "description": "Public http(s) URL of the file (PDF, image, Word, Excel, CSV, ...)."
    },
    "remote_id": {
      "description": "Your own reference for the document (stored by Docparser; usable as a filter later).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "parser_id",
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡docparser_upload_document(parser_id, file_content, file_name, remote_id)

WRITE: upload one small file as base64 content to a parser and parse it. Uses page credits of the account's plan. Docparser may buy extra credits by itself only if the account owner turned on automatic credit replenishment, or the account is on an annual plan that renews early when credits run out - check the Docparser billing settings first. This server never buys credits or changes the plan. Prefer docparser_fetch_document_from_url for large files. Returns the new document id and the remaining quota. POST /v1/document/upload/{parser_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "file_content": {
      "type": "string",
      "minLength": 4,
      "maxLength": 8388608,
      "pattern": "^[A-Za-z0-9+/=_-]+$",
      "description": "The file, base64 encoded."
    },
    "file_name": {
      "description": "File name with extension (e.g. invoice.pdf); a time-based name is used if omitted.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "remote_id": {
      "description": "Your own reference for the document (stored by Docparser; usable as a filter later).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "parser_id",
    "file_content"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴docparser_reparse_documents(parser_id, document_ids)

WRITE: run the parser again over already imported documents (for example after changing parsing rules). Replaces their parsed data. Re-parsing documents already in the account does not use additional credits. 1-50 document ids per call. POST /v1/document/reparse/{parser_id}.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "parser_id": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{1,64}$",
      "description": "Docparser parser id (from docparser_list_parsers)."
    },
    "document_ids": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[A-Za-z0-9_-]{1,64}$",
        "description": "Docparser document id (the `id` / `document_id` of an uploaded document)."
      },
      "description": "Ids of the documents to re-parse."
    }
  },
  "required": [
    "parser_id",
    "document_ids"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas