DocGen MCP Server
O que é
Servidor Model Context Protocol (MCP) via stdio para leitura e escrita de documentos, planilhas, renderização HTML→PDF (Playwright) e utilitários de arquivo. É distribuído no PyPI como docgen-mcp-server e requer Python 3.11+.
Recomenda-se executar com uvx docgen-mcp-server. Para travar em uma versão, use uvx --from docgen-mcp-server==0.2.1 docgen-mcp-server.
Na primeira execução, o Playwright pode precisar de um navegador Chromium/Chrome instalado (tools render_slide, render_page e render_image).
Ferramentas
| Módulo | Ferramenta | Descrição resumida |
|---|---|---|
| read_ | read_doc |
.docx/.pdf/.odt → Markdown; previewOnly / maxChars limitam saída. |
read_sheet |
Planilhas → JSON ou Markdown; range tipo A1:D10; previewOnly / maxRows. |
|
read_archive |
Lista árvore de entradas em .zip. |
|
| write_ | write_doc |
.docx/.pdf; Markdown (#, listas, ```) ou blocos JSON tipados; template {{campo}}. |
write_sheet |
.xlsx ou .csv; append em .xlsx para logs. |
|
| render_ | render_slide |
HTML/CSS → PDF ou ZIP de slides (use .slide por página). |
render_page |
HTML/CSS → PDF A4 (índice opcional). | |
| patch_ | patch_doc |
PDF: merge, split, watermark; DOCX: replace_text em XML. |
patch_sheet |
Atualiza células em .xlsx. |
|
| system_ | scan_dir |
Busca por regex em diretório ou em arquivos/ZIPs. |
diff_file |
Diff texto ou dados (planilhas). | |
bundle_zip |
Compacta lista de arquivos em um ZIP. |
Segurança
- Sem
..nos caminhos; leitura limitada por tamanho de ficheiro. - Escrita bloqueada em pastas do sistema (ex.:
Windows,Program Files,.ssh,.awsno home). - Opcional:
DOCGEN_ALLOWED_ROOTS— lista separada por vírgulas de pastas absolutas; só é permitido ler/escrever dentro delas (útil em monorepos/CI).
Variáveis de ambiente (opcional)
| Variável | Efeito |
|---|---|
DOCGEN_ALLOWED_ROOTS |
Ex.: C:\repo\my-app,C:\tmp — restrição de caminhos. |
DOCGEN_SCAN_MAX_MATCHES |
Máximo de correspondências em scan_dir (padrão 500). |
DOCGEN_READ_SHEET_MAX_ROWS |
Teto de linhas de dados em read_sheet quando não usas maxRows (padrão 10000). |
Erros das tools devolvem structuredContent com ok: false, code, tool, message e às vezes hint.
Como usar nos clientes (recomendado: PyPI)
Em qualquer cliente MCP com transporte stdio:
- Comando:
uvx. - Argumentos:
["docgen-mcp-server"](ou["--from", "docgen-mcp-server==0.2.1", "docgen-mcp-server"]para uma versão fixa). - Variáveis de ambiente: opcionais; veja as variáveis do Playwright/Chromium se precisar de proxy ou caminho de browser.
Exemplo (Cursor, VS Code com MCP, Claude Desktop, etc.):
{
"mcpServers": {
"docgen": {
"command": "uvx",
"args": ["docgen-mcp-server"],
"env": {}
}
}
}
No repositório há um exemplo em .cursor/mcp.json.example.
Cursor
Configurações → MCP (ou JSON de MCP do projeto): use command, args e env como acima.
Claude Desktop
Mesmo esquema de command, args e env. Detalhes de caminho do arquivo de configuração variam por SO; veja a documentação da Anthropic sobre MCP.
Problemas comuns na instalação
Se uvx não for encontrado, instale o uv. Para atualizar uma instalação em cache, use uvx --refresh docgen-mcp-server.
Se a ferramenta de renderização reclamar de navegador, instale o Chromium com playwright install chromium ou configure o caminho de um Chrome já instalado.
Desenvolvimento a partir do clone
git clone <repo>
cd docgen-mcp-server
uv sync
uv run docgen-mcp-server
Sem build prévio (local):
uv run docgen-mcp-server
| Script | Ação |
|---|---|
uv sync |
Instala dependências do projeto |
uv run docgen-mcp-server |
Executa o servidor |
uv build |
Gera os artefatos para publicação |
Publicação no PyPI (mantenedores)
uv build
uv publish --dry-run
uv publish
Licença
ISC
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docgen_mcp_server-0.2.1.tar.gz.
File metadata
- Download URL: docgen_mcp_server-0.2.1.tar.gz
- Upload date:
- Size: 28.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
840cda7b1db8c93749b2b5aba6d6a090da4d95504f99e1b86383069f783d467d
|
|
| MD5 |
d13ca9f60a2297ed746948ab8d2a92a2
|
|
| BLAKE2b-256 |
3d596a0d4862beebff9d899d0aae9a7ef7430366c1b7356a15960a186d5d40da
|
File details
Details for the file docgen_mcp_server-0.2.1-py3-none-any.whl.
File metadata
- Download URL: docgen_mcp_server-0.2.1-py3-none-any.whl
- Upload date:
- Size: 23.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a663f977cd9ae5b6d23a2061610c8ac9ebe92c29ad3213f0dbd10e29628e6a8
|
|
| MD5 |
bc4f4fb2cd40b3263ba8fec7113c9ef2
|
|
| BLAKE2b-256 |
bacf557a6ba42e66fb04a2f115110027ebeeb21152c0cd441495d0ab9706552f
|