Conversion Service MCP Server
An MCP server for the PDF Tools Conversion Service that enables document conversion to PDF/A, standard PDF, merging, repair, and large file uploads.
README
Conversion Service MCP Server
An MCP server for the PDF Tools Conversion Service Simple API v6.9.1, built from the official openapi.yaml spec.
Tools
| Tool | Endpoint | Description |
|---|---|---|
convert_to_pdfa2 |
archive-pdfa2-default |
Convert to PDF/A-2 (recommended archival) |
convert_to_pdfa3 |
archive-pdfa3-default |
Convert to PDF/A-3 (e-invoices) |
convert_to_pdf |
convert-to-pdf |
Convert any supported format to standard PDF |
merge_to_pdf |
dossier-default |
Merge multiple documents into one PDF |
convert_to_pdfa2_print |
archive-pdfa2-print-optimization |
PDF/A-2 optimized for printing |
convert_to_pdfa2_web |
archive-pdfa2-web-optimization |
PDF/A-2 optimized for web |
convert_to_pdfa2_email |
archive-pdfa2-email-optimization |
PDF/A-2 optimized for email |
repair_pdf |
repair-pdf |
Convert to PDF, validate and repair |
convert_large_file |
http.input/* |
Plain HTTP multipart for files >100 MB |
list_profiles |
-- | List all available profiles and endpoints |
Dependencies
pip install mcp httpx
Local Conversion Service Setup
The MCP server connects to a running instance of the PDF Tools Conversion Service. The easiest way to run it locally is via Docker.
Prerequisites
- Docker Desktop installed and running
- The
eso-consrvrepo cloned locally
Port conflicts (Windows only)
If you have the PDF Tools Windows services installed, they bind to the same ports as the Docker containers. Stop them first in an elevated PowerShell:
net stop "Pdftools Licensing Gateway Service"
net stop "Pdftools Conversion Service Connections"
To prevent them from auto-starting on reboot (run once):
Set-Service "LicensingGatewayService" -StartupType Manual
Set-Service "ConversionServiceConnectionService" -StartupType Manual
Set-Service "ConversionService" -StartupType Manual
Start the containers
From the eso-consrv repo root:
docker compose --env-file docker-compose.env up -d
Ports
| Service | Port | Purpose |
|---|---|---|
| license-gateway | 9999 | License management |
| conversion-service | 13033 | Advanced REST API |
| connector-service | 13034 | Simple REST API (used by MCP) |
| configurator-web | 13035 | Web UI for configuration |
Health checks
curl http://localhost:9999/healthz/ready
curl http://localhost:13034/healthz
curl http://localhost:13033/api/v1/health
MCP Configuration
Set the CONVERSION_SERVICE_URL environment variable to point to the Conversion Service Simple API. Default: http://localhost:13034.
Claude Code
Add to ~/.claude.json:
{
"mcpServers": {
"conversion-service": {
"command": "python3",
"args": ["<path-to-repo>/server.py"],
"env": {
"CONVERSION_SERVICE_URL": "http://localhost:13034"
}
}
}
}
Or via CLI:
claude mcp add conversion-service -- python3 <path-to-repo>/server.py
Claude Desktop
Add to claude_desktop_config.json (on macOS: ~/Library/Application Support/Claude/, on Windows: %APPDATA%\Claude\):
{
"mcpServers": {
"conversion-service": {
"command": "python",
"args": ["<path-to-repo>/server.py"],
"env": {
"CONVERSION_SERVICE_URL": "http://localhost:13034"
}
}
}
}
API Endpoints
Each profile supports two input modes:
- JSON (
/http.inputstructured/<profile>) -- structured JSON with base64 content or URL references. Used by most tools. - Plain HTTP (
/http.input/<profile>) -- multipart/form-data for large files (>100 MB). Used byconvert_large_file.
Options
DOC.PASSWORD-- unlock password-protected documentsMETA.AUTHOR-- set author metadata on output PDFOPTIMIZEPROFILE--print,web, ormax(email) optimization
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.