Office Suite MCP
Um pacote completo: docx, xlsx, pdf, mala-direta e modelos para propostas, orçamentos e contratos a partir do chat. Tudo local.
Documentação
mcp-office-suite
Servidor MCP para contabilidade e papelada de pequenas empresas: notas fiscais, PDFs, planilhas, documentos do Word, controle de tempo e despesas. Uma única instalação que expõe todas as ferramentas dos 45 servidores hospedados, 418 no total.
Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente do Model Context Protocol. Roda na sua própria máquina: este não tem endpoint hospedado, então instale a partir do pacote ou do código-fonte.
Instalação
Claude Desktop, um clique. Baixe o office-suite.mcpb da última versão e clique duas vezes nele.
A partir do código-fonte. O espelho é autocontido: cada dependência @theluckystrike/* é empacotada, então um clone novo compila sem configuração extra.
git clone https://github.com/theluckystrike/mcp-office-suite.git
cd mcp-office-suite
npm install && npm run build
Em seguida, aponte seu cliente para o ponto de entrada compilado:
{
"mcpServers": {
"office-suite": {
"command": "node",
"args": ["/absolute/path/to/mcp-office-suite/dist/index.js"]
}
}
}
@theluckystrike/mcp-office-suiteainda não está publicado no npm, então um comandonpx -y @theluckystrike/mcp-office-suitefalhará. Os três caminhos acima são os que funcionam e cada um é testado pela CI.

Espelho somente leitura de mcp-servers/servers/office-suite. Veja MIRROR.md.
No Registro Oficial do MCP (io.github.theluckystrike/office-suite-time-invoice-expense-excel-price).
Uma instalação para todo o escritório do freelancer. Este servidor MCP faz proxy de todos os 31 servidores irmãos neste repositório, então um cliente recebe todas as 292 ferramentas deles atrás de uma única entrada de configuração em vez de 31. A lista de filhos é publicada em tempo de execução como o recurso office://tools_map, que é a única fonte confiável: ela é lida do servidor em execução, não deste arquivo. Internamente, ele inicia cada irmão como seu próprio processo filho stdio, encaminha tools/call, resources/* e prompts/* para o filho que possui o nome e mescla o estado de licença deles em um único par license_status / license_activate. Nada é reimplementado: cada servidor filho roda exatamente como roda de forma independente, com seu próprio armazenamento JSON local.
Todas as ferramentas de controle de tempo, rastreador de preços, planilha e nota fiscal, um único claude mcp add.
Instalação em 60 segundos
A publicação no npm para @theluckystrike/mcp-office-suite (e suas dependências) está pendente. Até lá, o pacote de um clique .mcpb ou um clone+compilação é o caminho que funciona, ambos verificados abaixo. Este servidor é empacotado como office-suite.mcpb na versão v0.2.1 e está listado no registro oficial do MCP (io.github.theluckystrike/office-suite-time-invoice-expense-excel-price).
Um clique (.mcpb): baixe o office-suite.mcpb da última versão e clique duas vezes nele no Claude Desktop:
https://github.com/theluckystrike/mcp-servers/releases/latest
(claude_desktop_config.json):
{
"mcpServers": {
"office-suite": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-office-suite"]
}
}
}
Claude Code:
claude mcp add office-suite -- npx -y @theluckystrike/mcp-office-suite
(.cursor/mcp.json):
{
"mcpServers": {
"office-suite": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-office-suite"]
}
}
}
O formulário npx acima começa a funcionar no momento em que o pacote é publicado. Até lá, use o pacote .mcpb acima, ou
compile a partir do código-fonte com exatamente estes comandos:
git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build
npm run build (sem -w) é necessário aqui, ele compila mcp-license e cada servidor irmão que o office-suite inicia como filho, e então o próprio office-suite. Em seguida, aponte o command do seu cliente para node com um argumento: o caminho absoluto para servers/office-suite/dist/index.js.
Para executar todos os servidores no modo Pro, defina MCP_LICENSE_KEY no mesmo bloco de configuração, ou chame license_activate uma vez com sua chave; ela é encaminhada para cada filho conectado. A ativação é tudo-ou-nada: a resposta é um erro a menos que todos os filhos aceitem a chave, e ela imprime uma tabela por filho (OK / FAILED com a mensagem de cada filho) para que um pacote que está meio Pro não possa parecer um sucesso.
Por que um servidor em vez de trinta e um
A agregação é o que o uso recompensa nesta categoria: o servidor mais usado que rastreamos é um gateway agregador de ferramentas com 2.530 ferramentas e 419.019 usos, 7,5x o próximo servidor e 30x a mediana do grupo. Um usuário que quer "coisas de escritório" não deveria ter que adicionar trinta e um servidores MCP separados a uma única configuração de cliente. Instalar este obtém todas as ferramentas abaixo.
Ferramentas
Os nomes das ferramentas são repassados sem alteração de cada filho. Se este pacote algum dia fizer proxy de dois filhos que registram o mesmo nome de ferramenta, ambos são expostos com um prefixo <child>_<tool> em vez disso; os pares renomeados atuais estão listados em Ferramentas renomeadas abaixo.
time-tracker
| Ferramenta | O que faz |
|---|---|
timer_start | Inicia um cronômetro para um projeto; para e registra qualquer timer anterior em execução |
timer_stop | Para o timer em execução e o registra como uma entrada de tempo |
timer_status | Mostra o timer em execução e o total de horas de hoje |
entry_add | Registra tempo que você já trabalhou, com início mais fim ou minutos |
entry_list | Lista entradas de tempo registradas como uma tabela (grátis: últimos 7 dias) |
entry_delete | Exclui uma entrada de tempo por id |
entry_edit | Altera campos de uma entrada existente |
project_set_rate | Define a taxa horária e a moeda para um projeto |
report | Horas e dinheiro por projeto, dia, tarefa ou tag (agrupamento por tag é Pro) |
export_csv | Exporta a folha de ponto para um arquivo CSV |
invoice_summary | Transforma tempo faturável rastreado em itens de linha de nota fiscal |
price-tracker
| Ferramenta | O que faz |
|---|---|
price_check | Verifica o preço atual de um produto agora |
watch_add | Começa a monitorar uma URL de produto para quedas de preço |
watch_list | Lista todos os produtos monitorados e seu preço mais recente |
watch_remove | Para de monitorar um produto |
watch_refresh | Verifica novamente todos os monitoramentos (ou um) imediatamente |
price_history | Histórico de preços de um produto monitorado |
price_add_manual | Registra um preço manualmente, para sites que bloqueiam a busca |
alerts_pending | Monitoramentos que caíram abaixo do preço-alvo |
spreadsheet
| Ferramenta | O que faz |
|---|---|
sheet_info | Visão geral de um arquivo CSV/XLSX: planilhas, colunas, contagem de linhas |
sheet_read | Lê linhas de uma planilha |
sheet_query | Filtra, agrupa e ordena linhas |
sheet_stats | Estatísticas por coluna (mín, máx, média, soma, distintos) |
sheet_find | Encontra texto em uma planilha |
sheet_write | Escreve linhas em uma planilha |
sheet_add_column | Adiciona uma coluna calculada |
sheet_convert | Converte entre CSV e XLSX |
invoice
| Ferramenta | O que faz |
|---|---|
business_set | Define seu perfil comercial: nome, endereço, ID de IVA, IBAN, moeda padrão e condições |
client_add | Armazena um cliente para que notas fiscais possam referenciá-lo pelo nome |
client_list | Lista todos os clientes armazenados |
invoice_create | Cria uma nota fiscal a partir de itens de linha, com imposto e desconto |
invoice_from_hours | Cria uma nota fiscal a partir de horas trabalhadas a uma taxa |
invoice_list | Lista notas fiscais |
invoice_get | Obtém uma nota fiscal por id ou número |
invoice_mark_paid | Registra um pagamento contra uma nota fiscal |
invoice_pdf | Renderiza uma nota fiscal como arquivo PDF |
overdue_report | Notas fiscais vencidas, por quantos dias (Pro) |
Em todo o pacote
| Ferramenta | O que faz |
|---|---|
license_status | Status Grátis/Pro de cada servidor com proxy e o link de atualização do pacote |
license_activate | Ativa uma chave Pro do pacote em todos os servidores de uma vez. Retorna um erro com uma tabela por filho a menos que todos a aceitem |
Recursos e prompts registrados por qualquer filho (por exemplo, o recurso timetracker://today e o prompt daily_standup do time-tracker) também são repassados sob seus nomes originais.
Ferramentas renomeadas
Dois filhos podem registrar o mesmo nome de ferramenta; invoice e docx ambos têm business_set. O pacote então expõe ambos, prefixados com o servidor de onde vieram (invoice_business_set, docx_business_set), anuncia as renomeações uma vez na inicialização e reescreve a própria resposta do filho para que uma resposta que dizia "Execute business_set ..." diga o nome que você pode realmente chamar. O mapeamento completo é publicado como o recurso office://tools_map: nome exposto -> child.tool, com os pares renomeados listados separadamente.
Grátis vs Pro
Cada servidor filho mantém seu próprio nível gratuito exatamente como documentado em seu próprio README (veja cada servers/<name>/README.md). Este pacote não muda nada sobre esses limites; ele apenas muda quantas entradas de configuração são necessárias para alcançar todos eles.
Uma única chave Pro de pacote ($39 pagamento único, vitalício) desbloqueia Pro em todos os servidores do pacote, em vez de comprar a chave de $19 de cada servidor separadamente. Ative-a uma vez aqui e ela é encaminhada para cada filho.
Obtenha Pro: https://mcp.zovo.one/buy/bundle
Processos filhos
Cada filho roda como seu próprio processo stdio. Duas coisas que o proxy faz em nome deles:
- O stderr deles é drenado para o nosso, uma linha por vez, marcado com o filho de onde veio (
[invoice] ...). O stderr de um filho é um pipe com um pequeno buffer do SO; se não for lido, um filho que registrou mais do que esse buffer ficaria bloqueado emwrite()e a chamada de ferramenta que ele estava respondendo nunca retornaria. - Um filho que morre rejeita suas solicitações em andamento antes que o pacote tente reiniciá-lo, então uma chamada com proxy falha rapidamente em vez de pendurar até o timeout do cliente, onde uma nova tentativa poderia repetir uma mutação que já havia sido aplicada.
Privacidade
Cada servidor filho armazena seus dados localmente, em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/<name>/ por servidor. Este pacote não adiciona armazenamento próprio e não envia nada para lugar nenhum; ele apenas canaliza stdio entre seu cliente MCP e os processos filhos que ele inicia na sua própria máquina.
expense-tracker
TODO: servers/expense-tracker/dist ainda não existe neste repositório. Quando esse servidor for construído e lançado, adicione-o a CHILDREN em src/index.ts, sua dependência a package.json, sua etapa de compilação ao Dockerfile e sua tabela de ferramentas a este README.
Construído por theluckystrike (https://github.com/theluckystrike).
Use estes documentos como um servidor MCP
Qualquer cliente MCP (Claude, Cursor, Windsurf, VS Code) pode ler a documentação deste repositório diretamente via GitMCP — sem instalação:
- URL MCP dos documentos: https://gitmcp.io/theluckystrike/mcp-office-suite