Microsoft Word
Criar, ler e manipular documentos do Microsoft Word.
Documentação
Office-Word-MCP-Server
Um servidor Model Context Protocol (MCP) para criar, ler e manipular documentos do Microsoft Word. Este servidor permite que assistentes de IA trabalhem com documentos do Word através de uma interface padronizada, oferecendo recursos avançados de edição de documentos.
Visão Geral
O Office-Word-MCP-Server implementa o Model Context Protocol para expor operações de documentos do Word como ferramentas e recursos. Ele serve como uma ponte entre assistentes de IA e documentos do Microsoft Word, permitindo criação de documentos, adição de conteúdo, formatação e análise.
O servidor possui uma arquitetura modular que separa responsabilidades em funcionalidade principal, ferramentas e utilitários, tornando-o altamente sustentável e extensível para melhorias futuras.
Exemplo
Prompt
Saída
Recursos
Gerenciamento de Documentos
- Criar novos documentos do Word com metadados
- Extrair texto e analisar a estrutura do documento
- Visualizar propriedades e estatísticas do documento
- Listar documentos disponíveis em um diretório
- Criar cópias de documentos existentes
- Mesclar vários documentos em um único documento
- Converter documentos do Word para o formato PDF
Criação de Conteúdo
- Adicionar títulos com diferentes níveis e formatação direta (fonte, tamanho, negrito, itálico, bordas)
- Inserir parágrafos com estilos opcionais e formatação direta (fonte, tamanho, negrito, itálico, cor)
- Criar tabelas com dados personalizados
- Adicionar imagens com redimensionamento proporcional
- Inserir quebras de página
- Inserir listas com marcadores e numeradas com formatação XML adequada
- Adicionar notas de rodapé e notas de fim aos documentos
- Converter notas de rodapé em notas de fim
- Personalizar o estilo das notas de rodapé e notas de fim
- Criar layouts de tabela profissionais para documentação técnica
- Projetar caixas de destaque e conteúdo formatado para materiais instrucionais
- Construir tabelas de dados estruturadas para relatórios de negócios com estilo consistente
- Inserir conteúdo relativo a texto existente ou índices de parágrafos
Formatação de Texto Rico
- Formatar seções específicas de texto (negrito, itálico, sublinhado)
- Alterar a cor do texto e as propriedades da fonte
- Aplicar estilos personalizados a elementos de texto
- Pesquisar e substituir texto em documentos
- Formatação individual de texto em células de tabelas
- Múltiplas combinações de formatação para melhor apelo visual
- Personalização de fonte com controle de família e tamanho
- Formatação direta durante a criação de conteúdo (parágrafos e títulos)
- Reduzir chamadas de função combinando criação de conteúdo com formatação
- Adicionar bordas aos cabeçalhos de seção para separação visual
Formatação de Tabelas
- Formatar tabelas com bordas e estilos
- Criar linhas de cabeçalho com formatação distinta
- Aplicar sombreamento de células e bordas personalizadas
- Estruturar tabelas para melhor legibilidade
- Sombreamento de fundo individual de células com suporte a cores
- Cores alternadas de linhas para melhor legibilidade
- Realce aprimorado de linhas de cabeçalho com cores personalizadas
- Formatação de texto de células com negrito, itálico, sublinhado, cor, tamanho de fonte e família de fonte
- Suporte abrangente a cores com cores nomeadas e códigos de cor hexadecimais
- Gerenciamento de preenchimento de células com controle independente de todos os lados
- Alinhamento de células (posicionamento horizontal e vertical)
- Mesclagem de células (áreas horizontais, verticais e retangulares)
- Gerenciamento de largura de colunas com múltiplas unidades (pontos, porcentagem, ajuste automático)
- Recursos de ajuste automático para dimensionamento dinâmico de colunas
- Suporte profissional a tabelas de destaque com células de ícone e conteúdo estilizado
Manipulação Avançada de Documentos
- Excluir parágrafos
- Inserir conteúdo relativo a texto específico ou índices de parágrafos
- Inserir listas com marcadores e numeradas com estrutura de numeração XML adequada
- Inserir cabeçalhos e parágrafos antes ou depois de locais de destino
- Criar estilos de documento personalizados
- Aplicar formatação consistente em documentos
- Formatar intervalos específicos de texto com controle detalhado
- Unidades de preenchimento flexíveis com suporte a pontos e medidas baseadas em porcentagem
- Apresentação clara e legível de tabelas com alinhamento e espaçamento adequados
Proteção de Documentos
- Adicionar proteção por senha aos documentos
- Implementar edição restrita com seções editáveis
- Adicionar assinaturas digitais aos documentos
- Verificar autenticidade e integridade do documento
Extração de Comentários
- Extrair todos os comentários de um documento
- Filtrar comentários por autor
- Obter comentários para parágrafos específicos
- Acessar metadados de comentários (autor, data, texto)
Instalação
Instalando via Smithery
Para instalar o Office Word Document Server para Claude Desktop automaticamente via Smithery:
npx -y @smithery/cli install @GongRzhe/Office-Word-MCP-Server --client claude
Pré-requisitos
- Python 3.8 ou superior
- Gerenciador de pacotes pip
Instalação Básica
# Clone the repository
git clone https://github.com/GongRzhe/Office-Word-MCP-Server.git
cd Office-Word-MCP-Server
# Install dependencies
pip install -r requirements.txt
Usando o Script de Configuração
Alternativamente, você pode usar o script de configuração fornecido, que lida com:
- Verificação de pré-requisitos
- Configuração de um ambiente virtual
- Instalação de dependências
- Geração de configuração MCP
python setup_mcp.py
Uso com Claude for Desktop
Configuração
Método 1: Após Instalação Local
- Após a instalação, adicione o servidor ao seu arquivo de configuração do Claude for Desktop:
{
"mcpServers": {
"word-document-server": {
"command": "python",
"args": ["/path/to/word_mcp_server.py"]
}
}
}
Método 2: Sem Instalação (Usando uvx)
- Você também pode configurar o Claude for Desktop para usar o servidor sem instalação local usando o gerenciador de pacotes uvx:
{
"mcpServers": {
"word-document-server": {
"command": "uvx",
"args": ["--from", "office-word-mcp-server", "word_mcp_server"]
}
}
}
-
Locais do arquivo de configuração:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Reinicie o Claude for Desktop para carregar a configuração.
Exemplos de Operações
Após a configuração, você pode pedir ao Claude para realizar operações como:
- "Criar um novo documento chamado 'report.docx' com uma página de título"
- "Adicionar um título e três parágrafos ao meu documento"
- "Adicionar meu nome em Helvetica 36pt em negrito no topo do documento"
- "Adicionar um título de seção 'Summary' em Helvetica 14pt em negrito com borda inferior"
- "Adicionar um parágrafo em Times New Roman 14pt com texto azul em itálico"
- "Inserir uma lista com marcadores após o parágrafo que contém 'Introduction'"
- "Inserir uma lista numerada com itens: 'First step', 'Second step', 'Third step'"
- "Adicionar marcadores após o título 'Summary'"
- "Inserir uma tabela 4x4 com dados de vendas"
- "Formatar a palavra 'important' no parágrafo 2 para ficar em negrito e vermelho"
- "Pesquisar e substituir todas as ocorrências de 'old term' por 'new term'"
- "Criar um estilo personalizado para títulos de seção"
- "Aplicar formatação à tabela do meu documento"
- "Extrair todos os comentários do meu documento"
- "Mostrar todos os comentários de John Doe"
- "Obter comentários do parágrafo 3"
- "Deixar o texto na célula (1,2) da tabela em negrito e azul com fonte 14pt"
- "Adicionar 10 pontos de preenchimento a todos os lados das células de cabeçalho"
- "Criar uma tabela de destaque com ícone de marca de verificação azul e texto branco"
- "Definir a largura da primeira coluna para 50 pontos e ajustar automaticamente as colunas restantes"
- "Aplicar cores alternadas de linhas para tornar a tabela mais legível"
Referência da API
Criação de Documentos e Propriedades
create_document(filename, title=None, author=None)
get_document_info(filename)
get_document_text(filename)
get_document_outline(filename)
list_available_documents(directory=".")
copy_document(source_filename, destination_filename=None)
convert_to_pdf(filename, output_filename=None)
Adição de Conteúdo
add_heading(filename, text, level=1, font_name=None, font_size=None,
bold=None, italic=None, border_bottom=False)
add_paragraph(filename, text, style=None, font_name=None, font_size=None,
bold=None, italic=None, color=None)
add_table(filename, rows, cols, data=None)
add_picture(filename, image_path, width=None)
add_page_break(filename)
Manipulação Avançada de Conteúdo
# Insert content relative to existing text or paragraph index
insert_header_near_text(filename, target_text=None, header_title=None,
position='after', header_style='Heading 1',
target_paragraph_index=None)
insert_line_or_paragraph_near_text(filename, target_text=None, line_text=None,
position='after', line_style=None,
target_paragraph_index=None)
# Insert bulleted or numbered lists with proper XML formatting
insert_numbered_list_near_text(filename, target_text=None, list_items=None,
position='after', target_paragraph_index=None,
bullet_type='bullet')
# bullet_type options:
# 'bullet' - Creates bulleted list with bullets (•)
# 'number' - Creates numbered list (1, 2, 3, ...)
Extração de Conteúdo
get_document_text(filename)
get_paragraph_text_from_document(filename, paragraph_index)
find_text_in_document(filename, text_to_find, match_case=True, whole_word=False)
Formatação de Texto
format_text(filename, paragraph_index, start_pos, end_pos, bold=None,
italic=None, underline=None, color=None, font_size=None, font_name=None)
search_and_replace(filename, find_text, replace_text)
delete_paragraph(filename, paragraph_index)
create_custom_style(filename, style_name, bold=None, italic=None,
font_size=None, font_name=None, color=None, base_style=None)
Formatação de Tabelas
format_table(filename, table_index, has_header_row=None,
border_style=None, shading=None)
set_table_cell_shading(filename, table_index, row_index, col_index,
fill_color, pattern="clear")
apply_table_alternating_rows(filename, table_index,
color1="FFFFFF", color2="F2F2F2")
highlight_table_header(filename, table_index,
header_color="4472C4", text_color="FFFFFF")
# Cell merging tools
merge_table_cells(filename, table_index, start_row, start_col, end_row, end_col)
merge_table_cells_horizontal(filename, table_index, row_index, start_col, end_col)
merge_table_cells_vertical(filename, table_index, col_index, start_row, end_row)
# Cell alignment tools
set_table_cell_alignment(filename, table_index, row_index, col_index,
horizontal="left", vertical="top")
set_table_alignment_all(filename, table_index,
horizontal="left", vertical="top")
# Cell text formatting tools
format_table_cell_text(filename, table_index, row_index, col_index,
text_content=None, bold=None, italic=None, underline=None,
color=None, font_size=None, font_name=None)
# Cell padding tools
set_table_cell_padding(filename, table_index, row_index, col_index,
top=None, bottom=None, left=None, right=None, unit="points")
# Column width management
set_table_column_width(filename, table_index, col_index, width, width_type="points")
set_table_column_widths(filename, table_index, widths, width_type="points")
set_table_width(filename, table_index, width, width_type="points")
auto_fit_table_columns(filename, table_index)
Extração de Comentários
get_all_comments(filename)
get_comments_by_author(filename, author)
get_comments_for_paragraph(filename, paragraph_index)
Solução de Problemas
Problemas Comuns
-
Estilos ausentes
- Alguns documentos podem não ter os estilos necessários para operações de títulos e tabelas
- O servidor tentará criar estilos ausentes ou usar formatação direta
- Para melhores resultados, use modelos com estilos padrão do Word
-
Problemas de permissão
- Garanta que o servidor tenha permissão de leitura/gravação nos caminhos dos documentos
- Use a função
copy_documentpara criar cópias editáveis de documentos bloqueados - Verifique a propriedade e as permissões dos arquivos se as operações falharem
-
Problemas de inserção de imagens
- Use caminhos absolutos para arquivos de imagem
- Verifique a compatibilidade do formato da imagem (JPEG, PNG recomendados)
- Verifique o tamanho e as permissões do arquivo de imagem
-
Problemas de formatação de tabelas
- Erros de índice de célula: Garanta que os índices de linha e coluna estejam dentro dos limites da tabela (indexação baseada em 0)
- Problemas de formato de cor: Use cores hexadecimais sem o prefixo '#' (por exemplo, "FF0000" para vermelho) ou nomes de cores padrão
- Confusão de unidades de preenchimento: Especifique "points" ou "percent" explicitamente ao definir o preenchimento de células
- Conflitos de largura de coluna: O ajuste automático pode substituir as configurações manuais de largura de coluna
- Persistência da formatação de texto: Aplique a formatação de texto das células após definir o conteúdo da célula para obter melhores resultados
Depuração
Ative o registro detalhado definindo a variável de ambiente:
export MCP_DEBUG=1 # Linux/macOS
set MCP_DEBUG=1 # Windows
Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.
- Faça um fork do repositório
- Crie sua branch de recurso (
git checkout -b feature/amazing-feature) - Faça commit das suas alterações (
git commit -m 'Add some amazing feature') - Envie para a branch (
git push origin feature/amazing-feature) - Abra um Pull Request
Licença
Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.
Agradecimentos
- Model Context Protocol pela especificação do protocolo
- python-docx pela manipulação de documentos do Word
- FastMCP pela implementação MCP em Python
Nota: Este servidor interage com arquivos de documentos no seu sistema. Sempre verifique se as operações solicitadas são apropriadas antes de confirmá-las no Claude for Desktop ou em outros clientes MCP.