scopweb/mcp-go-pdf-tools
If you are the rightful owner of mcp-go-pdf-tools and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
MCP-Go-PDF-Tools is a simple MCP server for PDF-related tools, written in Go, designed to split PDFs into individual pages and expose this functionality via an HTTP API.
mcp-go-pdf-tools
Servidor MCP sencillo para herramientas relacionadas con PDFs, escrito en Go. El objetivo principal de esta primera fase es ofrecer la funcionalidad de "separar un PDF en PDFs independientes (una página por archivo)" y exponerla como API HTTP y como camino para integrarlo con Claude Desktop (MCP).
Estado: prototipo funcional — separación por página y endpoint HTTP completados.
Estructura importante
cmd/server: servidor HTTP (endpointsGET /health,POST /api/v1/pdf/split).internal/pdf: lógica para manipular PDFs (usapdfcpu).examples: cliente de ejemplo para subir un PDF y guardarsplit.zip.mcp: notas y ejemplos para integrar con Claude Desktop.
Dependencias clave
github.com/pdfcpu/pdfcpu— usado para manipulación de PDFs (split).
Quick Start (desarrollo)
- Build y run (desarrollo):
cd c:\MCPs\clone_PROYECTOS\mcp-go-pdf-tools\cmd\server
go run .
- Probar el endpoint
splitconcurl:
curl -F "file=@C:\MCPs\clone_PROYECTOS\mcp-go-pdf-tools\test.pdf" http://localhost:8080/api/v1/pdf/split --output split.zip
- Cliente de ejemplo (Go):
go run examples\upload.go C:\MCPs\clone_PROYECTOS\mcp-go-pdf-tools\test.pdf
Docker
- Construir imagen local:
docker build -t mcp-pdf-server:local .
- Ejecutar contenedor:
docker run --rm -p 8080:8080 mcp-pdf-server:local
Tests
- Ejecutar tests:
go test ./...
- Nota:
internal/pdf/split_test.goes una prueba de integración y se salta si no existetest.pdfen la raíz del repo. Puedes usar cualquier PDF pequeño para testing local.
Integración con Claude Desktop (MCP)
Para integrar con Claude Desktop tienes dos opciones principales:
- stdio (recomendado para Claude Desktop): ejecutar un proceso
mcp-server.exeque hable porstdin/stdoutcon Claude Desktop. Esto es lo que Claude espera para registrar herramientas automáticamente. - HTTP (alternativa): ejecutar el servidor HTTP y usar un adaptador desde Claude (menos directo).
Ejemplo de fragmento para pegar en claude_desktop_config.json (Windows):
{
"mcpServers": {
"mcp-pdf-tools-stdio": {
"command": "C:\\MCPs\\clone_PROYECTOS\\mcp-go-pdf-tools\\bin\\mcp-server.exe",
"args": ["--stdio"],
"env": {}
}
}
}
Consejos:
- Revisa
mcp/README.mdymcp/claude_desktop_config_sample.jsonpara ejemplos y notas. - Si quieres que implemente el
stdioMCP server, puedo crearcmd/mcp-servery compilarmcp-server.exepara Windows.
Roadmap y próximos pasos
- Ver
Roadmap.mden la raíz del repo para ver lo completado y lo pendiente (implementación stdio, tests adicionales, empaquetado de releases).
Contacto / ayuda
- Si quieres que siga con la implementación del
cmd/mcp-server(stdio) o que genere el binariomcp-server.exe, dime y lo implemento.