Zovo PDF to Spreadsheet
PDF tables into a spreadsheet
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
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": {
"pdf-to-excel": {
"url": "https://pdf-to-excel.zovo.one/mcp"
}
}
}Puntos de conexión remotos
https://pdf-to-excel.zovo.one/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (2)
🟢convert_pdf_tables(file, pages, merge_tables, column_types)
Use this when the user wants to convert a PDF to Excel, convert PDF to Excel, extract a table from a PDF, convert PDF table to Excel, PDF to CSV, PDF to XLSX, get a bank statement PDF to Excel, or turn a PDF to spreadsheet. It reads the tables in a text-based PDF and returns an Excel workbook (one sheet per table) and a ZIP of CSV files, with column types and a preview of the first rows. Handles up to 15 MB and 50 pages. Does not read scanned or image-only pages (no OCR), does not edit the PDF, and keeps files for about 1 hour. Do not use for a PDF that is only a form to fill or for reading a PDF as plain text.
Esquema de entrada
{
"type": "object",
"properties": {
"file": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"description": "Temporary download link for the file, supplied by ChatGPT."
},
"file_id": {
"type": "string",
"description": "ChatGPT file id, e.g. file_abc123."
},
"mime_type": {
"description": "Media type if known, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"description": "Original file name if known, e.g. statement.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"description": "The text-based PDF that holds the tables, e.g. statement.pdf or price-list.pdf."
},
"pages": {
"description": "Pages to read, e.g. 1-3,5. Default: every page (first 50).",
"type": "string",
"maxLength": 200
},
"merge_tables": {
"description": "true (default): join the last table on a page to the first on the next page only when their column count and whitespace-normalized source headers match; drop the repeated header.",
"type": "boolean"
},
"column_types": {
"description": "Force a column type when the detected one is wrong, e.g. [{\"table\":1,\"column\":3,\"type\":\"text\"}]. The widget's type switches send this.",
"maxItems": 200000,
"type": "array",
"items": {
"type": "object",
"properties": {
"table": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "1-based table number shown in the result, e.g. 1."
},
"column": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "1-based column number in that table, e.g. 3."
},
"type": {
"type": "string",
"enum": [
"text",
"number",
"date"
],
"description": "The type to force for that column, e.g. date."
}
},
"required": [
"table",
"column",
"type"
]
}
}
},
"required": [
"file"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"file": {
"type": "string"
},
"page_count": {
"type": "number"
},
"other_text_rows": {
"type": "number"
},
"pages_read": {
"type": "number"
},
"tables": {
"type": "number"
},
"scanned_pages": {
"type": "array",
"items": {
"type": "number"
}
},
"truncated": {
"type": "boolean"
},
"table_details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"sheet": {
"type": "string"
},
"rows": {
"type": "number"
},
"data_rows": {
"type": "number"
},
"columns": {
"type": "number"
},
"header": {
"type": "array",
"items": {
"type": "string"
}
},
"column_types": {
"type": "array",
"items": {
"type": "string"
}
},
"preview": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"pages": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"name",
"sheet",
"rows",
"data_rows",
"columns",
"header",
"column_types",
"preview",
"pages"
],
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"downloads": {
"type": "object",
"properties": {
"xlsx": {
"type": "string"
},
"csv_zip": {
"type": "string"
}
},
"required": [
"xlsx",
"csv_zip"
],
"additionalProperties": false
},
"note": {
"type": "string"
}
},
"required": [
"file",
"page_count",
"other_text_rows",
"pages_read",
"tables",
"scanned_pages",
"truncated",
"table_details",
"warnings",
"note"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢list_pdf_tables(file, pages, merge_tables)
Use this when the user wants to extract table from pdf, copy table from pdf, or inspect pdf to spreadsheet tables, before exporting: it shows each table's size, column types and first rows with no download. Does not make Excel or CSV files (use convert_pdf_tables for that), does not read scanned pages (no OCR), and handles up to 15 MB and 50 pages. Do not use for editing a PDF or for a PDF that is not a table.
Esquema de entrada
{
"type": "object",
"properties": {
"file": {
"type": "object",
"properties": {
"download_url": {
"type": "string",
"description": "Temporary download link for the file, supplied by ChatGPT."
},
"file_id": {
"type": "string",
"description": "ChatGPT file id, e.g. file_abc123."
},
"mime_type": {
"description": "Media type if known, e.g. application/pdf.",
"type": "string"
},
"file_name": {
"description": "Original file name if known, e.g. statement.pdf.",
"type": "string"
}
},
"required": [
"download_url",
"file_id"
],
"description": "The text-based PDF that holds the tables, e.g. report.pdf."
},
"pages": {
"description": "Pages to read, e.g. 1-3,5. Default: every page (first 50).",
"type": "string",
"maxLength": 200
},
"merge_tables": {
"description": "true (default): join the last table on a page to the first on the next page only when their column count and whitespace-normalized source headers match.",
"type": "boolean"
}
},
"required": [
"file"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"note": {
"type": "string"
},
"file": {
"type": "string"
},
"page_count": {
"type": "number"
},
"other_text_rows": {
"type": "number"
},
"pages_read": {
"type": "number"
},
"tables": {
"type": "number"
},
"scanned_pages": {
"type": "array",
"items": {
"type": "number"
}
},
"truncated": {
"type": "boolean"
},
"table_details": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"sheet": {
"type": "string"
},
"rows": {
"type": "number"
},
"data_rows": {
"type": "number"
},
"columns": {
"type": "number"
},
"header": {
"type": "array",
"items": {
"type": "string"
}
},
"column_types": {
"type": "array",
"items": {
"type": "string"
}
},
"preview": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"pages": {
"type": "array",
"items": {
"type": "number"
}
}
},
"required": [
"name",
"sheet",
"rows",
"data_rows",
"columns",
"header",
"column_types",
"preview",
"pages"
],
"additionalProperties": false
}
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"file",
"page_count",
"other_text_rows",
"pages_read",
"tables",
"scanned_pages",
"truncated",
"table_details",
"warnings"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Comunidad
Evidencia