docx-mcp
Leia e edite documentos Word (.docx) com controle de alterações, comentários, notas de rodapé e validação estrutural. 18 ferramentas com validação de paraId em nível OOXML e auditoria de documentos.
Documentação
docx-mcp
Dê ao seu agente de IA a capacidade de criar, ler e editar documentos do Word. As edições aparecem como alterações controladas no Microsoft Word — tachado vermelho para exclusões, sublinhado verde para inserções — e após qualquer sessão de revisão, seu agente pode produzir um log de alterações pronto para e-mail listando cada inserção, exclusão e substituição. Ou compare dois arquivos separados para obter o mesmo resultado automaticamente.
Para Quem É Este Recurso
Profissionais que produzem entregáveis em Word e querem que seu agente de IA lide diretamente com o trabalho documental:
- Jurídico — revisão de contratos com marcações de alterações, substituição em lote de cláusulas em modelos, anotações comentadas explicando cada mudança, gerenciamento de notas de rodapé
- Segurança e Testes de Penetração — gerar relatórios de pentest a partir de achados em markdown, mesclar apêndices de múltiplos engajamentos, adicionar comentários de resumo executivo, remover marcas d'água de RASCUNHO antes da entrega
- Consultoria — construir propostas e SOWs a partir de modelos, converter notas de reunião em entregáveis formatados, atualizar termos de pagamento em massa em conjuntos de documentos
- Conformidade e Auditoria — validação estrutural da integridade do documento, verificação de referências cruzadas, auditorias de nível de cabeçalho, aplicação de proteção
O Que Você Pode Pedir ao Seu Agente
Revisar um contrato:
"Abra contract.docx, encontre todas as ocorrências de 'Net 30', altere para 'Net 60' e adicione um comentário em cada uma explicando que foi atualizado conforme a Emenda 3. Salve como contract_revised.docx."
Gerar um relatório a partir de markdown:
"Converta meu pentest-findings.md para um documento do Word usando o modelo de relatório do cliente. Adicione notas de rodapé para cada referência CVE."
Editar em lote uma biblioteca de modelos:
"Abra o modelo MSA, substitua 'ACME Corp' por 'GlobalTech Inc' em todo lugar, atualize a data de vigência no cabeçalho e defina a proteção do documento para somente-alterações-controladas."
Auditar um documento antes de enviar:
"Abra o entregável final, execute uma auditoria estrutural, verifique se há marcadores de RASCUNHO ou TODO, valide todas as referências cruzadas de notas de rodapé e remova quaisquer marcas d'água."
Seu agente lida com todo o fluxo de trabalho — abrir o arquivo, navegar pela estrutura, fazer edições precisas com histórico completo de revisões, validar a integridade e salvar — enquanto você se concentra no conteúdo.
Instalação
Claude Code (recomendado):
claude mcp add docx-mcp -- uvx docx-mcp-server
É só isso. Uma skill complementar é instalada automaticamente na primeira vez que o servidor inicia, ensinando ao Claude o fluxo de trabalho de edição de documentos, as armadilhas do OOXML e a lista de verificação de auditoria. Ela é atualizada automaticamente a cada upgrade.
Outras plataformas e métodos de instalação
Claude Desktop:
Adicione às suas configurações de MCP:
{
"mcpServers": {
"docx-mcp": {
"command": "uvx",
"args": ["docx-mcp-server"]
}
}
}
Cursor / Windsurf / VS Code:
Adicione ao seu arquivo de configuração MCP:
{
"mcpServers": {
"docx-mcp": {
"command": "uvx",
"args": ["docx-mcp-server"]
}
}
}
OpenClaw:
mcpServers:
docx-mcp:
command: uvx
args:
- docx-mcp-server
Com pip:
pip install docx-mcp-server
Capacidades
| Capacidade | O que seu agente pode fazer |
|---|---|
| Criar documentos | Começar em branco, a partir de um modelo .dotx ou de markdown — cabeçalhos, tabelas, listas, imagens, notas de rodapé, blocos de código, tipografia inteligente |
| Controlar alterações | Inserir, excluir e substituir texto como revisões controladas — inserções sublinhadas, exclusões com tachado vermelho. Passe tracked=False para qualquer ferramenta de edição para gravar a alteração diretamente, sem marcação de revisão. Aceitar ou rejeitar alterações por autor. |
| Log de alterações | Após editar com alterações controladas, chame generate_change_summary para obter um .txt numerado listando cada inserção, exclusão e substituição. Ou use diff_to_text para comparar dois arquivos separados e obter o mesmo resultado automaticamente — útil para versões de documentos que você não editou. |
| Comentários | Adicionar comentários ancorados a parágrafos específicos, responder a threads de comentários |
| Localizar e substituir | Buscar por texto ou regex no corpo, notas de rodapé e comentários — e então fazer edições direcionadas |
| Tabelas | Criar tabelas, modificar células, adicionar ou excluir linhas — tudo com rastreamento de revisões |
| Notas de rodapé e notas de fim | Adicionar, listar e validar referências cruzadas |
| Formatação | Negrito, itálico, sublinhado, cor — com rastreamento de revisões para que alterações de formatação fiquem visíveis |
| Cabeçalhos e rodapés | Ler e editar conteúdo de cabeçalhos/rodapés com alterações controladas |
| Imagens | Listar imagens incorporadas, inserir novas com dimensões especificadas |
| Seções e layout | Quebras de página, quebras de seção, tamanho de página, orientação, margens |
| Referências cruzadas | Hiperlinks internos entre parágrafos com marcadores |
| Mesclagem de documentos | Combinar conteúdo de vários arquivos DOCX |
| Proteção | Bloquear documentos para somente-alterações-controladas, somente-leitura ou somente-comentários com senhas |
| Auditoria estrutural | Validar notas de rodapé, cabeçalhos, marcadores, imagens e consistência interna antes da entrega |
| Remoção de marca d'água | Detectar e remover marcas d'água de RASCUNHO dos cabeçalhos |
| Limpeza de PII (experimental) | Detectar nomes, e-mails, telefones, SSNs e mais usando Presidio + spaCy NER. Produz verdadeira redação em XML — o texto original é permanentemente excluído, substituído por um retângulo preto sólido. Não é para uso em produção — veja limitações. |
Exemplo: Revisão de Contrato com Marcações
1. open_document("services-agreement.docx")
2. get_headings() → see document structure
3. search_text("30 days") → find the payment clause
4. delete_text(para_id, "30 days") → tracked deletion (red strikethrough)
5. insert_text(para_id, "60 days") → tracked insertion (green underline)
6. add_comment(para_id, "Extended per client request — see Amendment 3")
7. audit_document() → verify structural integrity
8. save_document("services-agreement_redlined.docx")
Abra a saída no Word e você verá exatamente o que um revisor humano produziria — marcas de revisão, comentários na margem, estrutura de documento limpa.
Exemplo: Log de Alterações Após uma Sessão de Revisão
1. open_document("contract.docx")
2. replace_text(para_id, "30 days", "60 days") → tracked revision (del + ins)
3. add_comment(para_id, "Extended per Amendment 3")
4. save_document("contract_redlined.docx")
5. generate_change_summary("contract_changes.txt")
A saída de .txt fica assim:
1. REPLACEMENT by Claude on 2026-05-25
Deleted: "30 days"
Inserted: "60 days"
Cole em um e-mail, em uma descrição de PR ou em uma nota de passagem de bastão.
Exemplo: Comparar Duas Versões Separadas de Documento
Nenhuma sessão de edição necessária — aponte para quaisquer dois arquivos:
1. diff_to_text("proposal_v1.docx", "proposal_v2.docx")
Retorna dois arquivos:
proposal_v1_diff.docx— abra no Word para ver as alterações controladas inlineproposal_v1_diff.txt— resumo em texto simples, pronto para colar em qualquer lugar
Exemplo: Relatório de Pentest a partir de Markdown
1. create_from_markdown("pentest-report.docx",
md_path="findings.md",
template_path="client-template.dotx")
2. audit_document() → verify integrity
3. save_document() → ready for delivery
Seus achados em markdown — cabeçalhos, tabelas de hosts afetados, blocos de código com saída de prova de conceito, classificações de severidade — tornam-se um documento Word formatado que corresponde ao modelo do cliente. A tipografia inteligente é aplicada automaticamente (aspas curvas, travessões, reticências adequadas).
Limpeza de PII (Experimental)
Este recurso é experimental e NÃO é adequado para uso em produção nem como controle exclusivo para documentos privilegiados, regulamentados ou legalmente sensíveis.
scrub_pii usa o Microsoft Presidio com um modelo NER spaCy (en_core_web_lg, ~560 MB, baixado na primeira chamada) para detectar e redigir permanentemente informações pessoais. Os trechos redigidos são substituídos por retângulos DrawingML pretos sólidos — o texto original é excluído do XML, não apenas ocultado.
O que detecta de forma confiável (via correspondência de regex/padrões, alta confiança):
- Endereços de e-mail, números de telefone, números de cartão de crédito, SSNs, IBANs, endereços IP, números de passaporte dos EUA
O que detecta estatisticamente (via NER, terá falhas):
- Nomes de pessoas, nomes de organizações, locais, datas
Lacunas conhecidas do NER — estes serão perdidos:
- Nomes em CAIXA ALTA (comuns em livros-razão, cabeçalhos de tabelas, designações de partes legais)
- Nomes de token único sem contexto circundante
- Nomes não ingleses (padrões de nomes árabes, CJK e africanos têm baixa recuperação neste modelo em inglês)
- Nomes embutidos em texto jurídico padrão (
Lender: Jane Doe,Authorized Signatory: John Smith)
Fluxo de trabalho recomendado:
1. open_document("sensitive.docx")
2. scrub_pii(dry_run=True) → review detected entities — check for misses
3. scrub_pii("sensitive_redacted.docx") → produce redacted copy
4. open the output in Word and verify manually before sharing
Sempre trate a saída como uma primeira passagem que requer revisão humana, não como uma redação finalizada.
Como Funciona
Um arquivo .docx é um arquivo ZIP de arquivos XML. Este servidor descompacta o arquivo, edita o XML diretamente e o recompacta. É isso que lhe dá a capacidade de produzir alterações controladas reais, comentários e notas de rodapé — coisas que bibliotecas de documentos de nível superior não conseguem fazer.
Cada edição é validada contra a especificação OOXML antes de salvar, detectando problemas como notas de rodapé órfãs, IDs internos duplicados e referências cruzadas quebradas que, de outra forma, fariam o Word "reparar" (e reescrever silenciosamente) seu documento.
Inventário completo de ferramentas (mais de 200 ferramentas)
Ciclo de Vida do Documento
| Ferramenta | Descrição |
|---|---|
open_document | Abrir um arquivo .docx para leitura e edição |
create_document | Criar um novo .docx em branco (ou a partir de um modelo .dotx) |
create_from_markdown | Criar um .docx a partir de Markdown no estilo GitHub |
close_document | Fechar o documento atual e limpar |
get_document_info | Obter estatísticas gerais (parágrafos, cabeçalhos, notas de rodapé, comentários) |
save_document | Salvar alterações de volta em .docx (pode sobrescrever ou salvar em novo caminho) |
Leitura
| Ferramenta | Descrição |
|---|---|
get_headings | Obter estrutura de cabeçalhos com níveis e texto |
search_text | Buscar no corpo, notas de rodapé e comentários (texto ou regex) |
get_paragraph | Obter texto completo e estilo de um parágrafo |
Controle de Alterações
| Ferramenta | Descrição |
|---|---|
insert_text | Inserir texto como revisão controlada (sublinhado no Word) — ou diretamente com tracked=False |
delete_text | Marcar texto como excluído (tachado vermelho no Word) — ou remover diretamente com tracked=False |
replace_text | Substituir texto como um par del+ins controlado — ou diretamente com tracked=False |
modify_cell | Modificar uma célula de tabela — controlado por padrão, tracked=False para gravações diretas |
edit_header_footer | Editar texto de cabeçalho/rodapé — controlado por padrão, tracked=False para gravações diretas |
set_formatting | Aplicar negrito/itálico/sublinhado/cor com marcação de alteração controlada |
set_track_changes | Ativar ou desativar o sinalizador integrado de gravação de alterações do Word |
get_tracked_changes | Listar todas as alterações controladas pendentes (autor, data, tipo, texto) |
accept_changes | Aceitar alterações controladas, opcionalmente filtradas por autor |
reject_changes | Rejeitar alterações controladas, opcionalmente filtradas por autor |
Log de Alterações
| Ferramenta | Descrição |
|---|---|
generate_change_summary | Exportar todas as alterações controladas no documento aberto como um arquivo .txt numerado — inserções, exclusões e pares del+ins adjacentes agrupados como substituições |
compare_documents | Comparar dois arquivos DOCX e produzir um DOCX com alterações controladas (aberto no Word) |
diff_to_text | Comparar dois arquivos DOCX e produzir tanto um DOCX com alterações controladas quanto um resumo .txt em texto simples |
Tabelas
| Ferramenta | Descrição |
|---|---|
get_tables | Obter todas as tabelas com contagens de linhas/colunas e conteúdo das células |
add_table | Inserir uma nova tabela após um parágrafo |
modify_cell | Modificar uma célula de tabela com alterações controladas |
add_table_row | Adicionar uma linha a uma tabela |
delete_table_row | Excluir uma linha de tabela com alterações controladas |
Listas
| Ferramenta | Descrição |
|---|---|
add_list | Aplicar formatação de lista com marcadores ou numerada a parágrafos |
Comentários
| Ferramenta | Descrição |
|---|---|
get_comments | Listar todos os comentários com ID, autor, data e texto |
add_comment | Adicionar um comentário ancorado a um parágrafo |
reply_to_comment | Responder a um comentário existente (em thread) |
Notas de Rodapé e Notas de Fim
| Ferramenta | Descrição |
|---|---|
get_footnotes | Listar todas as notas de rodapé com ID e texto |
add_footnote | Adicionar uma nota de rodapé com referência sobrescrita |
validate_footnotes | Validar referências cruzadas de notas de rodapé |
get_endnotes | Listar todas as notas de fim com ID e texto |
add_endnote | Adicionar uma nota de fim com referência sobrescrita |
validate_endnotes | Validar referências cruzadas de notas de fim |
Cabeçalhos, Rodapés e Estilos
| Ferramenta | Descrição |
|---|---|
get_headers_footers | Obter todos os cabeçalhos e rodapés com conteúdo de texto |
edit_header_footer | Editar texto de cabeçalho/rodapé com alterações controladas |
get_styles | Obter todos os estilos definidos |
Propriedades e Imagens
| Ferramenta | Descrição |
|---|---|
get_properties | Obter propriedades principais do documento (título, criador, datas) |
set_properties | Definir propriedades principais do documento |
get_images | Obter todas as imagens incorporadas com dimensões |
insert_image | Inserir uma imagem após um parágrafo |
Seções e Referências Cruzadas
| Ferramenta | Descrição |
|---|---|
add_page_break | Inserir uma quebra de página após um parágrafo |
add_section_break | Adicionar uma quebra de seção (nextPage, continuous, evenPage, oddPage) |
set_section_properties | Definir tamanho da página, orientação e margens |
add_cross_reference | Adicionar um link de referência cruzada entre parágrafos |
Proteção e Mesclagem
| Ferramenta | Descrição |
|---|---|
set_document_protection | Definir proteção do documento com senha opcional |
merge_documents | Mesclar conteúdo de outro DOCX |
Validação e Auditoria
| Ferramenta | Descrição |
|---|---|
validate_paraids | Verificar exclusividade de IDs internos em todas as partes do documento |
remove_watermark | Remover marcas d'água VML dos cabeçalhos do documento |
audit_document | Auditoria estrutural abrangente |
Requisitos
- Python 3.10+
- Funciona em macOS, Linux e Windows
Política de Privacidade · Termos de Serviço · © 2026 Security Ronin Ltd
