Go-Docs MCP
Install and Go: tu IA lee cualquier documento
El Problema
Todos los servidores MCP de documentos necesitan Node.js o Python. Solo manejan un formato, y ninguno hace OCR, extracción de tablas o lectura de imágenes.
La Solución
Se instala con un comando y listo. Un binario, 13 herramientas: PDF, ficheros de Office, Markdown, imágenes y OCR, sin runtime y sin configuración.
¿Por qué Go-Docs MCP?
La mayoría de los servidores MCP están escritos en Node o Python. Quien mantiene una infraestructura ligera (self-hosters, DevOps, gente de terminal) suele preferir binarios compilados a runtimes interpretados. Si ya tienes Homebrew o Go, este es el camino más corto hacia una IA que lee tus documentos.
| Node / TS MCPs | Python MCPs | go-docs-mcp | |
|---|---|---|---|
| ⚡ | Necesita Node.js | Necesita Python + pip | Binario único, sin runtime |
| 📄 | Un solo formato | Un solo formato | PDF + Office + EPUB + HTML + imágenes |
| 👁 | Sin OCR | Sin OCR | OCR para PDFs escaneados + imágenes |
| 📊 | Tablas limitadas | Tablas básicas | Tablas + outline + imágenes + caché |
| 🔒 | Seguridad variable | Seguridad variable | Solo lectura, directorio bloqueado |
Características
Leer Cualquier Documento
Texto completo de PDF, TXT, MD, CSV, ficheros de Office (DOCX, XLSX, PPTX, ODT), EPUB, HTML, RTF, notebooks de Jupyter e imágenes (PNG, JPG, WebP, TIFF, BMP), todo desde un solo servidor. Pide el documento entero, una página o un rango de páginas.
Búsqueda
Búsqueda de texto dentro de un documento, con el texto que rodea cada resultado. Encuentra lo que necesitas en cientos de páginas.
Extracción de Imágenes
Saca las imágenes de un PDF y las devuelve como imágenes PNG de verdad, así que los clientes que muestran imágenes las enseñan. Las grandes se reducen a 1600 px, y una respuesta no pasa de 8 MB.
Fetch de URLs
Descarga un documento desde una URL y lo lee como un fichero local. La descarga tiene un tiempo límite, y se rechazan los hosts con direcciones privadas o de loopback. Con DOCS_MCP_DISABLE_URL=1 la herramienta desaparece.
Seguridad
Todo se procesa en tu máquina; ningún documento va a una API en la nube. Los documentos se limitan a una carpeta, y un enlace simbólico que apunte fuera se rechaza. Todas las herramientas se anuncian como de solo lectura, y cada proceso externo tiene un tiempo límite.
Caché Rápida
El texto extraído se guarda en memoria, así que la segunda lectura del mismo documento es casi inmediata. La caché tiene un límite, que se fija con DOCS_MCP_CACHE_MB.
OCR
Lee PDFs escaneados y ficheros de imagen (PNG, JPG, WebP, TIFF, BMP) con tesseract. Los documentos que solo son imagen pasan a OCR sin pedirlo, y puedes forzarlo cuando haga falta. El idioma por defecto se fija con DOCS_MCP_OCR_LANG.
Salida por Partes
Las herramientas de texto aceptan offset y max_chars (50.000 caracteres por defecto), así que un documento muy largo llega por partes en vez de llenar el contexto del modelo.
Recursos y Salida Estructurada
Cada documento es también un recurso docs://filename, así que puedes mencionarlo con @ en Claude Code. Las herramientas que devuelven JSON declaran además su forma (outputSchema).
Arquitectura
go-docs-mcp es un único binario Go que habla con tu cliente de IA por stdio con el Model Context Protocol. El mismo binario responde a las dos generaciones del protocolo: el saludo initialize de los clientes antiguos y la revisión sin sesión 2026-07-28 que Claude Code ya usa. Llama a poppler, tesseract y pandoc para los formatos que los necesitan.
13 herramientas en 5 categorías: Descubrimiento (2), Lectura (3), Búsqueda (1), Análisis (5), OCR (2).
13 Herramientas MCP
Herramientas para leer, buscar y extraer contenido de documentos en muchos formatos.
| Herramienta | Descripción |
|---|---|
list_documents | Listar los documentos de la carpeta configurada, con formato, páginas y tamaño |
list_formats | Listar los formatos soportados y qué herramientas externas están instaladas |
read_document | Leer el texto completo, una página o un rango de páginas; los textos largos llegan por partes |
read_url | Descargar un documento desde una URL y leer su texto |
convert_to_markdown | Convertir un documento a Markdown |
search_document | Buscar texto dentro de un documento con resultados contextuales |
get_document_summary | Un resumen rápido con las 3 primeras páginas |
get_document_metadata | Extraer título, autor, fechas, número de páginas e info de formato |
get_document_outline | Obtener la estructura de encabezados del documento |
extract_tables | Extraer tablas como datos estructurados |
extract_images | Extraer las imágenes de un PDF como imágenes PNG, reducidas a un tamaño razonable |
ocr_document | Forzar OCR en PDFs escaneados o documentos basados en imagen |
read_image | Leer el texto de un fichero de imagen con OCR (PNG, JPG, WebP, TIFF, BMP) |
Inicio Rápido
Elige una forma de instalarlo y registra el servidor en tu cliente de IA.
Homebrew (macOS y Linux)
Instala también poppler, tesseract y pandoc.
Plugin para Claude Code
El plugin registra el servidor en Claude Code y lee los documentos de ~/.docs-mcp/documents. No incluye el binario: instálalo antes con Homebrew, una descarga o go install.
go-docs-mcp está en el MCP Registry oficial como io.github.drolosoft/go-docs-mcp, así que los clientes que leen el registro lo encuentran por ese nombre.
Claude Desktop (.mcpb)
Un solo fichero para macOS, Windows y Linux. Descárgalo y ábrelo, o usa Settings › Extensions › Install extension; Claude Desktop te pide la carpeta de documentos. poppler, tesseract y pandoc siguen siendo del sistema: en macOS, brew install poppler tesseract pandoc.
Docker
No hay nada más que instalar: la imagen trae poppler, tesseract con inglés y español, y pandoc, para linux/amd64 y linux/arm64. Tu carpeta se monta en solo lectura en /documents. Añade -e DOCS_MCP_OCR_LANG=spa para leer escaneos en español por defecto.
Descargas
| Sistema | Fichero | Suma |
|---|---|---|
| macOS, Apple silicon | go-docs-mcp_1.5.0_darwin_arm64.tar.gz | checksums.txt |
| macOS, Intel | go-docs-mcp_1.5.0_darwin_amd64.tar.gz | checksums.txt |
| Linux, amd64 | go-docs-mcp_1.5.0_linux_amd64.tar.gz | checksums.txt |
| Linux, arm64 | go-docs-mcp_1.5.0_linux_arm64.tar.gz | checksums.txt |
| Windows, amd64 | go-docs-mcp_1.5.0_windows_amd64.zip | checksums.txt |
Un solo checksums.txt vale para todos los ficheros: sha256sum -c checksums.txt --ignore-missing. Pon go-docs-mcp en una carpeta de tu PATH e instala poppler por tu cuenta (y tesseract o pandoc si los necesitas). Las versiones anteriores están en la página de releases.
Desde el código
Necesita Go 1.27 o posterior.
Registra el servidor
Sáltate este paso si instalaste el plugin para Claude Code. Si no, añade el servidor a tu cliente, apunta DOCS_MCP_DIR a tu carpeta de documentos y reinicia el cliente.
Ajustes
| Variable | Descripción |
|---|---|
DOCS_MCP_DIR | Carpeta con tus documentos (por defecto ~/.docs-mcp/documents/) |
DOCS_MCP_OCR_LANG | Idioma de tesseract por defecto, como spa o fra (por defecto eng) |
DOCS_MCP_CACHE_MB | Límite de la caché de texto en MB (por defecto 256; 0 la apaga) |
DOCS_MCP_DISABLE_URL | Con 1 se quita la herramienta read_url |
Requisitos
poppler hace falta para PDF. tesseract y pandoc son opcionales: instálalos solo para los formatos que uses. Homebrew instala los tres.
| Formato | Necesita |
|---|---|
| poppler (obligatorio) | |
| TXT, MD, CSV | Nada, se leen directamente |
| DOCX, XLSX, PPTX, ODT, EPUB, HTML, RTF, IPYNB | pandoc (opcional) |
| PNG, JPG, WebP, TIFF, BMP | tesseract (opcional, OCR) |
Go 1.27 o posterior solo hace falta para compilar desde el código con go install.
Construido Con
Un único binario Go con dependencias opcionales por formato.
- Go 1.27+: binario único, compilación multiplataforma
- MCP SDK (Go): Model Context Protocol por stdio
- poppler-utils: texto, imágenes y metadatos de PDF
- tesseract + pandoc: OCR para imágenes y escaneos; Office, EPUB, HTML, RTF y notebooks
¿Listo para dar a tu IA acceso a cualquier documento?
go-docs-mcp es gratuito, código abierto y se instala con un solo comando.