Making docling agentic through MCP
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add docling --env DOCLING_MCP_SERVICE_API_KEY='<DOCLING_MCP_SERVICE_API_KEY>' --env DOCLING_CONVERSION_MODE='<DOCLING_CONVERSION_MODE>' -- uvx docling-mcp~/.codex/config.toml
[mcp_servers.docling]
command = "uvx"
args = ["docling-mcp"]
env = { DOCLING_MCP_SERVICE_API_KEY = "<DOCLING_MCP_SERVICE_API_KEY>", DOCLING_CONVERSION_MODE = "<DOCLING_CONVERSION_MODE>" }
# codex mcp add docling --env DOCLING_MCP_SERVICE_API_KEY='<DOCLING_MCP_SERVICE_API_KEY>' --env DOCLING_CONVERSION_MODE='<DOCLING_CONVERSION_MODE>' -- uvx docling-mcp~/.cursor/mcp.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_SERVICE_API_KEY": "<DOCLING_MCP_SERVICE_API_KEY>",
"DOCLING_CONVERSION_MODE": "<DOCLING_CONVERSION_MODE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"docling": {
"type": "stdio",
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_SERVICE_API_KEY": "<DOCLING_MCP_SERVICE_API_KEY>",
"DOCLING_CONVERSION_MODE": "<DOCLING_CONVERSION_MODE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_SERVICE_API_KEY": "<DOCLING_MCP_SERVICE_API_KEY>",
"DOCLING_CONVERSION_MODE": "<DOCLING_CONVERSION_MODE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_SERVICE_API_KEY": "<DOCLING_MCP_SERVICE_API_KEY>",
"DOCLING_CONVERSION_MODE": "<DOCLING_CONVERSION_MODE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"docling": {
"command": "uvx",
"args": [
"docling-mcp"
],
"env": {
"DOCLING_MCP_SERVICE_API_KEY": "<DOCLING_MCP_SERVICE_API_KEY>",
"DOCLING_CONVERSION_MODE": "<DOCLING_CONVERSION_MODE>"
}
}
}
}Environment variables
DOCLING_MCP_SERVICE_API_KEYDOCLING_CONVERSION_MODE
Replace the placeholders with your own credentials and keep them out of version control.