Search / io.github.drolosoft/go-docs-mcp
go-docs-mcp
L0· runs locallyLets your AI read PDF, Office files, EPUB, HTML, Jupyter and images, with OCR, search and paging.
v1.5.0 · active · repository · website · descriptor JSON · versions
Search / io.github.drolosoft/go-docs-mcp
L0· runs locallyLets your AI read PDF, Office files, EPUB, HTML, Jupyter and images, with OCR, search and paging.
v1.5.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"go-docs-mcp": {
"command": "docker",
"args": [
"-i",
"--rm",
"-v",
"${documents_dir}:/documents:ro",
"-e",
"DOCS_MCP_OCR_LANG=${ocr_language}",
"-e",
"DOCS_MCP_DISABLE_URL=${disable_url}",
"-e",
"DOCS_MCP_CACHE_MB=${cache_mb}",
"ghcr.io/drolosoft/go-docs-mcp:1.5.0"
]
}
}
}claude mcp add go-docs-mcp -- docker -i --rm -v "${documents_dir}:/documents:ro" -e "DOCS_MCP_OCR_LANG=${ocr_language}" -e "DOCS_MCP_DISABLE_URL=${disable_url}" -e "DOCS_MCP_CACHE_MB=${cache_mb}" ghcr.io/drolosoft/go-docs-mcp:1.5.0[mcp_servers.go-docs-mcp]
command = "docker"
args = ["-i", "--rm", "-v", "${documents_dir}:/documents:ro", "-e", "DOCS_MCP_OCR_LANG=${ocr_language}", "-e", "DOCS_MCP_DISABLE_URL=${disable_url}", "-e", "DOCS_MCP_CACHE_MB=${cache_mb}", "ghcr.io/drolosoft/go-docs-mcp:1.5.0"]
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"go-docs-mcp": {
"type": "local",
"command": [
"docker",
"-i",
"--rm",
"-v",
"{env:documents_dir}:/documents:ro",
"-e",
"DOCS_MCP_OCR_LANG={env:ocr_language}",
"-e",
"DOCS_MCP_DISABLE_URL={env:disable_url}",
"-e",
"DOCS_MCP_CACHE_MB={env:cache_mb}",
"ghcr.io/drolosoft/go-docs-mcp:1.5.0"
],
"enabled": true
}
}
}{
"mcpServers": {
"go-docs-mcp": {
"command": "docker",
"args": [
"-i",
"--rm",
"-v",
"${documents_dir}:/documents:ro",
"-e",
"DOCS_MCP_OCR_LANG=${ocr_language}",
"-e",
"DOCS_MCP_DISABLE_URL=${disable_url}",
"-e",
"DOCS_MCP_CACHE_MB=${cache_mb}",
"ghcr.io/drolosoft/go-docs-mcp:1.5.0"
]
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=go-docs-mcp&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyItaSIsIi0tcm0iLCItdiIsIiR7ZG9jdW1lbnRzX2Rpcn06L2RvY3VtZW50czpybyIsIi1lIiwiRE9DU19NQ1BfT0NSX0xBTkc9JHtvY3JfbGFuZ3VhZ2V9IiwiLWUiLCJET0NTX01DUF9ESVNBQkxFX1VSTD0ke2Rpc2FibGVfdXJsfSIsIi1lIiwiRE9DU19NQ1BfQ0FDSEVfTUI9JHtjYWNoZV9tYn0iLCJnaGNyLmlvL2Ryb2xvc29mdC9nby1kb2NzLW1jcDoxLjUuMCJdfQ%3D%3D"
}{
"servers": {
"go-docs-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"-i",
"--rm",
"-v",
"${documents_dir}:/documents:ro",
"-e",
"DOCS_MCP_OCR_LANG=${ocr_language}",
"-e",
"DOCS_MCP_DISABLE_URL=${disable_url}",
"-e",
"DOCS_MCP_CACHE_MB=${cache_mb}",
"ghcr.io/drolosoft/go-docs-mcp:1.5.0"
]
}
}
}{
"mcpServers": {
"go-docs-mcp": {
"command": "docker",
"args": [
"-i",
"--rm",
"-v",
"${documents_dir}:/documents:ro",
"-e",
"DOCS_MCP_OCR_LANG=${ocr_language}",
"-e",
"DOCS_MCP_DISABLE_URL=${disable_url}",
"-e",
"DOCS_MCP_CACHE_MB=${cache_mb}",
"ghcr.io/drolosoft/go-docs-mcp:1.5.0"
]
}
}
}extensions:
"go-docs-mcp":
enabled: true
name: "go-docs-mcp"
type: stdio
cmd: "docker"
args:
- "-i"
- "--rm"
- "-v"
- "${documents_dir}:/documents:ro"
- "-e"
- "DOCS_MCP_OCR_LANG=${ocr_language}"
- "-e"
- "DOCS_MCP_DISABLE_URL=${disable_url}"
- "-e"
- "DOCS_MCP_CACHE_MB=${cache_mb}"
- "ghcr.io/drolosoft/go-docs-mcp:1.5.0"
timeout: 300
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dump, tools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-5d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
https://github.com/drolosoft/go-docs-mcp/releases/download/v1.5.0/go-docs-mcp_1.5.0.mcpb | mcpb | 1.5.0 | – | |
ghcr.io/drolosoft/go-docs-mcp:1.5.0 | oci | unpinned | docker |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.drolosoft/go-docs-mcp",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"tools": [
"list_documents",
"list_formats",
"read_document",
"read_url",
"convert_to_markdown",
"search_document",
"get_document_summary",
"get_document_metadata",
"get_document_outline",
"extract_tables",
"extract_images",
"ocr_document",
"read_image"
],
"install": {
"go": "go install github.com/drolosoft/go-docs-mcp@latest",
"binaries": "https://github.com/drolosoft/go-docs-mcp/releases",
"homebrew": "brew install drolosoft/tap/go-docs-mcp",
"claudeCodePlugin": "go-docs-mcp in the drolosoft/claude-plugins marketplace"
},
"transport": "stdio",
"requirements": {
"pandoc": "optional: DOCX, XLSX, PPTX, ODT, EPUB, HTML, RTF and IPYNB",
"poppler": "required: pdftotext, pdfinfo and pdfimages for PDF text, metadata and images",
"tesseract": "optional: OCR of scanned PDFs and images"
},
"environmentVariables": [
{
"name": "DOCS_MCP_DIR",
"format": "filepath",
"isRequired": true,
"description": "Folder with the documents to serve. When unset the server uses ~/.docs-mcp/documents/."
},
{
"name": "DOCS_MCP_DISABLE_URL",
"isRequired": false,
"description": "Set to 1 to remove the read_url tool."
},
{
"name": "DOCS_MCP_OCR_LANG",
"isRequired": false,
"description": "Tesseract language for OCR, for example spa or eng+spa. Default eng."
},
{
"name": "DOCS_MCP_CACHE_MB",
"isRequired": false,
"description": "Cap of the extracted text cache in MB. Default 256, 0 disables it."
},
{
"name": "DOCS_MCP_URL_PROXY",
"isRequired": false,
"description": "Set to 1 so read_url honours HTTP_PROXY and HTTPS_PROXY."
}
]
}
},
"icons": [
{
"src": "https://raw.githubusercontent.com/drolosoft/go-docs-mcp/main/assets/icon.png",
"sizes": [
"2048x2048"
],
"mimeType": "image/png"
}
],
"title": "go-docs-mcp",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.5.0",
"packages": [
{
"version": "1.5.0",
"transport": {
"type": "stdio"
},
"fileSha256": "79752b021aae58e4a56ca450ebf117e584a4331291b4583551b7ba2c4b961cf2",
"identifier": "https://github.com/drolosoft/go-docs-mcp/releases/download/v1.5.0/go-docs-mcp_1.5.0.mcpb",
"registryType": "mcpb",
"environmentVariables": [
{
"name": "DOCS_MCP_DIR",
"format": "filepath",
"isRequired": true,
"description": "Folder with the documents to serve."
},
{
"name": "DOCS_MCP_OCR_LANG",
"default": "eng",
"description": "Tesseract language for OCR, for example spa or eng+spa."
},
{
"name": "DOCS_MCP_DISABLE_URL",
"format": "boolean",
"default": "false",
"description": "true removes the read_url tool."
}
]
},
{
"transport": {
"type": "stdio"
},
"identifier": "ghcr.io/drolosoft/go-docs-mcp:1.5.0",
"runtimeHint": "docker",
"registryType": "oci",
"runtimeArguments": [
{
"type": "positional",
"value": "-i",
"description": "Keep stdin open: MCP talks to the server over it"
},
{
"type": "positional",
"value": "--rm",
"description": "Remove the container when the client closes it"
},
{
"name": "-v",
"type": "named",
"value": "{documents_dir}:/documents:ro",
"variables": {
"documents_dir": {
"format": "filepath",
"isRequired": true,
"description": "Absolute path of the folder with your documents"
}
},
"isRequired": true,
"description": "Folder with your documents, mounted read-only on /documents, the folder the server reads"
},
{
"name": "-e",
"type": "named",
"value": "DOCS_MCP_OCR_LANG={ocr_language}",
"variables": {
"ocr_language": {
"default": "eng",
"description": "eng, spa or eng+spa"
}
},
"description": "Tesseract language for OCR when a call names none. The image has eng and spa; eng+spa reads both. Default eng."
},
{
"name": "-e",
"type": "named",
"value": "DOCS_MCP_DISABLE_URL={disable_url}",
"variables": {
"disable_url": {
"format": "boolean"
}
},
"description": "Set to 1 to remove the read_url tool, so the server never reaches the network."
},
{
"name": "-e",
"type": "named",
"value": "DOCS_MCP_CACHE_MB={cache_mb}",
"variables": {
"cache_mb": {
"format": "number",
"default": "256"
}
},
"description": "Cap of the extracted text cache in MB. Default 256, 0 disables it."
}
]
}
],
"repository": {
"url": "https://github.com/drolosoft/go-docs-mcp",
"source": "github"
},
"websiteUrl": "https://drolosoft.com/go-docs-mcp.html",
"description": "Lets your AI read PDF, Office files, EPUB, HTML, Jupyter and images, with OCR, search and paging."
}