Zovo Per Diem MCP Server
Cálculo de diárias e auxílios de viagem por cidade e função para agentes de finanças. Local-first, plano gratuito, Pro por US$ 19 pagamento único.
Documentação
Todos os servidores · Comprar Pro $19 · Todos os 46 por $39 · Código-fonte
Duas maneiras de executá-lo, ambas gratuitas para começar. Abra mcp.zovo.one/mcp/connect, copie a URL de diárias e cole-a em qualquer cliente que aceite uma URL. Ela já contém um token gratuito, então não há nada para instalar, nenhuma conta e nenhum cabeçalho para configurar. A URL é https://mcp.zovo.one/mcp/per-diem/t/<token>. O token não é opcional: o https://mcp.zovo.one/mcp/per-diem puro conecta e lista suas ferramentas, mas responde a toda chamada de ferramenta com HTTP 401, então use o link de /mcp/connect ou envie Authorization: Bearer <token>. Ou baixe per-diem.mcpb e clique duas vezes nele no Claude Desktop.
mcp-per-diem
Calcule o auxílio diário de viagem a trabalho com base nas tabelas de tarifas que as autoridades fiscais realmente publicam, e mantenha as viagens que você precificou. Você informa para onde foi, quando saiu e quando voltou, e quais refeições outra pessoa pagou; ele retorna o valor por dia e o total, na moeda do próprio esquema, com a regra de dia parcial e cada dedução de refeição exibida ao lado do número que a gerou. Três esquemas acompanham o servidor: o regulamento de delegação polonês (doméstico e por país), as tarifas de referência da escala HMRC para viagens dentro do Reino Unido, e o padrão CONUS de M&IE e hospedagem do GSA dos EUA. As tabelas são arquivos incluídos, não um feed ao vivo, então a mesma viagem precificada duas vezes dá a mesma resposta, e cada tarifa traz o regulamento, a URL de origem e a data em que entrou em vigor. Nada sai da sua máquina.
Construído por theluckystrike.
No Registro Oficial de MCP (io.github.theluckystrike/per-diem).

Instalação
Um clique (.mcpb): baixe per-diem.mcpb do lançamento mais recente e clique duas vezes nele no Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
Hospedado, sem instalação: aponte um cliente baseado em URL para https://mcp.zovo.one/mcp/per-diem. GET https://mcp.zovo.one/mcp/connect gera um token e imprime uma URL pronta.
A publicação no npm para @theluckystrike/mcp-per-diem está pendente, então a linha npx abaixo retorna 404 hoje.
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"per-diem": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-per-diem"]
}
}
}
Claude Code:
claude mcp add per-diem -- npx -y @theluckystrike/mcp-per-diem
Cursor (~/.cursor/mcp.json ou .cursor/mcp.json): a mesma entrada do Claude Desktop.
Ferramentas
| ferramenta | o que faz |
|---|---|
perdiem_rates | Lista as tarifas incluídas de um esquema com a autoridade, o instrumento, a URL de origem e a data de vigência. Filtre por país ou cidade. |
perdiem_calc | Precifica uma viagem: o auxílio por dia e o total, com a fração de dia parcial e as deduções de refeição que a regra do esquema aplica. |
trip_record | Calcula uma viagem e a salva sob um nome, com o viajante do perfil de negócios compartilhado. |
trip_list | Lista viagens salvas com um total por moeda. |
trip_delete | Exclui uma viagem salva que não foi exportada e não tem despesa lançada contra ela, e libera o slot do plano gratuito que ela ocupava. |
trip_export | Os argumentos exatos de expense_add para uma viagem salva, um payload por moeda, para o servidor de controle de despesas. |
perdiem_report | Totais por esquema e por mês calendário, na moeda de cada esquema. |
license_status | Gratuito ou Pro, e onde fazer upgrade. |
license_activate | Ativa uma chave Pro. Verificada offline. |
Gratuito vs Pro
| Gratuito | Pro | |
|---|---|---|
perdiem_rates, perdiem_calc | Sim, ilimitado | Sim |
| Viagens salvas por mês calendário | 5, pela data de início | Ilimitado |
trip_list | Sim, ilimitado | Sim |
trip_delete | Sim, ilimitado | Sim |
trip_export | Não | Sim |
perdiem_report | Não | Sim |
Obter Pro: $19 pagamento único, ou $39 pelo pacote. Ou o pacote de 46 servidores por $39.
O que está nas tabelas, e o que deliberadamente não está
Cada tabela em src/tables/ traz um header com a autoridade, o instrumento, a URL de origem, a data em que as tarifas entraram em vigor e a data em que foram lidas. perdiem_rates retorna esse cabeçalho com as tarifas, para que a proveniência viaje junto com o número.
A regra para o que está nelas: um valor que não pudesse ser afirmado com confiança a partir do texto público do regulamento foi omitido, não adivinhado. Um valor de diária acaba em uma declaração de imposto. Um valor errado que parece autoritativo é pior do que um ausente, porque um ausente é recusado pelo nome e você vai procurá-lo.
| tabela | incluída | omitida |
|---|---|---|
| Polônia, doméstica | A diária de 45,00 PLN, o montante fixo de hospedagem de 150 por cento, e as regras de dia parcial e refeições | O montante fixo de 20 por cento para transporte local está listado, mas não é pago: não é subsistência |
| Polônia, estrangeira | 34 países do anexo, com a diária e sua moeda | Os outros aproximadamente 90 países, e todos os limites de hospedagem por país. Um país ausente significa "não verificado aqui", não "não existe tarifa" |
| Reino Unido, doméstica | Todas as quatro tarifas de referência da escala HMRC (faixas de 5, 10 e 15 horas e o suplemento de fim de noite) | Nada |
| Reino Unido, no exterior | Nada. O arquivo acompanha uma lista de tarifas vazia e um cabeçalho dizendo isso | Toda a tabela de tarifas de escala no exterior por cidade: aproximadamente 250 cidades vezes oito valores cada, na moeda do destino. Esta versão não pôde afirmá-los com confiança, então nenhum deles está incluído. perdiem_calc {scheme:"uk"} recusa um destino estrangeiro pelo nome e aponta para a página do HMRC |
| EUA, GSA | O teto padrão CONUS de M&IE e hospedagem para FY2025 e FY2026, com o detalhamento de refeições publicado | As aproximadamente 300 localidades não padrão (Nova York, São Francisco e as demais). Um destino que não é uma delas recebe a tarifa padrão de qualquer forma, que é o que esta tabela fornece |
As tarifas mudam. Verifique o effective_date em qualquer resposta antes de confiar nela, e leia o source_url se a viagem for recente.
Regras que a calculadora aplica
- Início e fim são instantes, não relógios de parede. Passe ISO 8601 com um offset (
2026-03-28T22:00:00+01:00) ou um datetime local mais umtimezoneIANA. As horas decorridas são uma diferença de época, então uma viagem através de uma mudança de relógio é 23 ou 25 horas, não 24. - Polônia conta períodos de 24 horas a partir da partida. Abaixo de 24 horas no doméstico: nada abaixo de 8 horas, metade da diária de 8 a 12, a diária inteira acima de 12. Acima de 24 horas: uma diária inteira por período, depois metade para um restante de até 8 horas e uma inteira acima disso. No exterior, a escala é um terço até 8 horas, metade acima de 8 e até 12, inteira acima. Refeições gratuitas descontam 25/50/25 por cento de um dia doméstico e 15/30/30 de um estrangeiro.
- O Reino Unido paga por faixa: 5,00 GBP a partir de 5 horas de ausência, 10,00 GBP a partir de 10, 25,00 GBP a partir de 15 quando a viagem está em andamento às 20h, nada abaixo de 5. Uma refeição fornecida remove sua parcela da faixa, pro rata. O HMRC declara o princípio ("a tarifa não é paga por uma refeição que foi fornecida"); a aritmética pro rata é a leitura deste servidor, e ele diz isso na resposta.
- Os EUA contam dias calendário no fuso do destino, a 75 por cento do M&IE no primeiro e no último dia. Uma refeição fornecida é deduzida pelo seu próprio valor publicado, e os 5,00 USD de incidentes nunca são deduzidos. A hospedagem é um teto para reembolso com recibo, não um auxílio que é pago; a resposta diz isso toda vez.
- Moedas nunca são somadas. Não há taxa de câmbio neste servidor, então uma diária em PLN e uma em EUR permanecem dois valores.
Exportando para o controle de despesas
trip_export retorna os argumentos exatos de expense_add para o servidor expense-tracker, um payload por moeda, e não escreve nada por conta própria. Isso é deliberado: o expense-tracker não publica um ponto de entrada de biblioteca, e seu contador de id, suas regras de categoria, sua divisão de IVA e seus padrões de moeda vivem todos dentro de seu próprio manipulador expense_add sob seu próprio bloqueio. Anexar uma linha ao seu data.json diretamente produziria uma despesa sem nenhum desses aplicados: uma que parece nativa e não é. Devolver os argumentos é o mesmo contrato que kanban usa para o timer_start do time-tracker.
Nenhum vat_rate é definido no payload. Uma diária estatutária é um auxílio, não uma compra, então não há IVA de entrada a recuperar sobre ela.
Uma percepção medida
A correspondência por substring de um nome de país é como uma diária é silenciosamente precificada à tarifa de outro país.
A primeira versão resolvia um destino por nome exato, depois código ISO, depois country.includes(destination). Uma viagem a Omã voltou precificada, em EUR, sem aviso: "romania".includes("oman") é true, então pegou a diária de 42,00 EUR da Romênia. Omã não está entre os 34 países que esta versão inclui, então a resposta correta era uma recusa nomeando a lacuna. Em vez disso, o chamador recebeu um número confiante, na moeda errada, de um país a 3.000 km de distância.
A correção é uma linha, o fallback é uma correspondência de prefixo de quatro caracteres ou mais, e é assegurada em test/adversarial.test.mjs. A forma geral vale mais que a correção: uma correspondência difusa é segura quando um erro é barato e cara quando um erro é silencioso. Aqui um erro produz um valor fiscal, então o fallback tem que falhar de forma fechada. A tabela ser deliberadamente parcial é exatamente o que torna o fallback por substring perigoso: com uma tabela completa, a linha errada é um quase erro, e com uma parcial, é uma linha que nunca deveria ter correspondido.
Privacidade
Tudo permanece na sua máquina. As viagens são JSON em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/per-diem/. As tabelas de tarifas são arquivos dentro do pacote. Não há chamada de rede em nenhum lugar deste servidor, nenhuma conta e nenhuma chave de API. Chaves de licença são verificadas offline.
Licença
MIT. Suporte: support@zovo.one
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-per-diem
Primeiros cinco minutos
Um prompt que pontuou 3 de 3, medido na rodada 27, 2026-09-05. Cole-o como está escrito.
I am going to Berlin for a client meeting, leaving 14 September 2026 at 8am and back on 15 September at 6pm. Breakfast is included at the hotel both days. What diet am I owed?
Cole isto no Claude com o servidor conectado.
O que ele fez, medido na rodada 27, 2026-09-05: Uma chamada, e resolveu quatro coisas da frase sem nenhuma pergunta: Berlim significa Alemanha significa a tabela estrangeira polonesa, o fuso horário é Europe/Warsaw do perfil compartilhado, o café da manhã em ambos os dias são duas deduções de refeição separadas em vez de uma, e uma noite fora é uma noite de hospedagem.
No plano gratuito para este caminho: Consultas de tarifas e cálculos são ilimitados em todos os planos: as tabelas são regulamentação pública, e medir a leitura de uma regulamentação seria cobrar pelo trabalho da autoridade fiscal. 5 viagens salvas por mês calendário, contadas pela data de início, e listas de viagens ilimitadas.
Configure no seu cliente
Caminho de configuração exato, entrada e ressalvas: Claude Desktop · Claude Code · Cursor · VS Code · Windsurf · Cline · conectores Claude.ai e Claude Desktop · todos os clientes
Comparado com as alternativas
MCP Per Diem vs gsa-perdiem-mcp - qual servidor MCP escolher · todas as comparações
Guias
Como rastrear horas faturáveis dentro do Claude Code e do Cursor · Criar um PDF de fatura a partir de uma mensagem de chat com um servidor MCP · Fazer perguntas sobre um arquivo Excel ou CSV a partir do Cursor ou do Claude · Acompanhar o preço de um produto com o Claude e ser avisado quando ele cair · O que o plano gratuito inclui e o que o Pro adiciona · Registrar despesas e quilometragem no Claude, dividir o IVA, repassar para uma fatura · Converter moedas no Claude com taxas reais do BCE, sem chave de API · Gerar propostas e contratos em Word a partir de uma mensagem de chat · Encontrar um horário de reunião entre fusos horários sem fazer a aritmética · Escrever um currículo e uma carta de apresentação a partir do chat, sem inventar nada · Cobrar um retentor em um cronograma sem um SaaS de faturamento · Montar um contrato a partir da sua própria biblioteca de cláusulas, no chat · Conectar servidores MCP ao Claude.ai, Claude Desktop, Cursor e VS Code sem instalar nada · Mesclar, dividir e carimbar PDFs a partir do chat, e por que alguns voltam como números de glifos · Ler um calendário .ics no Claude: livre e ocupado, conflitos e reuniões faturáveis · Executar um quadro kanban no Claude, com controle de tempo na mesma tarefa · Redimensionar, compactar e adicionar marca d'água a imagens a partir de uma mensagem de chat · Categorizar e conciliar uma exportação CSV de banco a partir do chat · Enviar um orçamento a partir do chat e transformar o "sim" em fatura · Colocar um código QR de pagamento SEPA em uma fatura a partir do chat · Compactar e descompactar arquivos com segurança a partir do Claude ou do Cursor · Depósitos de clientes e retentores a partir do chat, aplicados às suas faturas reais · Ativos fixos e depreciação a partir do chat, com as taxas publicadas pelas autoridades fiscais · Diárias e ajudas de custo de viagem a partir do chat, com as tabelas de taxas publicadas pelas autoridades fiscais · Um único livro de partidas dobradas a partir de cada servidor que você já executa · Cronogramas de empréstimos e arrendamentos a partir do chat, fechando exatamente em zero · Ordens de serviço e cartões de trabalho a partir do chat, e por que o markup vai no custo unitário · Listas de preços e tabelas de tarifas a partir do chat, e a lacuna de escala de 100x entre a fatura e o orçamento · Ordens de alteração e o valor do contrato em andamento a partir do chat, e por que uma linha alterada são dois itens · Um fundo de caixa pequeno a partir do chat, e por que o cheque não é a soma dos comprovantes · Extratos de clientes e cobranças a partir do chat, com vencimento em qualquer data que você indicar · Notas de crédito e ordens de compra a partir do chat, contra suas faturas reais · Uma instalação, todos os servidores: o pacote de suíte de escritório · Fechar um mês no chat: fatura, nota de crédito, retentor, conciliação bancária, extrato · Servidor MCP não aparecendo no Claude Desktop: as seis verificações que o encontram · Onde está o claude_desktop_config.json e o que vai nele · claude mcp add: todas as flags e o escopo que silenciosamente perde seu servidor · Servidores MCP no Windows: spawn npx ENOENT, barras invertidas e o PATH · Instalando esses servidores MCP quando o npx ainda não funciona · Configuração do MCP no Cursor: mcp.json, o campo de tipo obrigatório e onde os servidores aparecem · Quais servidores MCP funcionam sem nenhuma rede · Faturando um cliente da UE com reverse charge, a partir de uma mensagem de chat · Orçamento, depósito, fatura, extrato: todo o ciclo em uma única conversa · Este projeto está dando lucro? Horas contra custos, sem planilha · Montando um pacote do ano fiscal para seu contador a partir do chat · Mantendo um registro de quilometragem no chat, com a taxa que você realmente cobra · Conciliando um CSV de banco contra o que você faturou e gastou · Repassando despesas de clientes, com markup e o IVA tratado com honestidade · Cobrando uma fatura não paga: vencimento e depois a carta · Uma nota de venda a partir do chat, com os identificadores verificados e as linhas de assinatura impressas · Precificando um trabalho a partir de uma tabela de tarifas e o que fazer quando o escopo muda · Calculando sua taxa horária a partir do que você realmente faturou · Convertendo CSV para xlsx e vice-versa sem abrir o Excel · Fazendo perguntas a uma planilha em linguagem simples · Mesclando uma pasta de recibos em um único PDF a partir do chat · Dividindo um único scan grande em documentos separados · Enviando um mês de papelada como um único arquivo, com segurança · Servidores MCP no VS Code: o erro de uma palavra que quebra toda configuração · Servidores MCP no Windsurf e no Cline: dois padrões que desperdiçam uma tarde · Servidor MCP local ou URL hospedada: qual escolher e o que você perde · O que esses servidores MCP realmente fazem no plano gratuito · Escolhendo um servidor MCP para faturamento: as sete perguntas que valem a pena fazer · Quando você precisa de um servidor MCP e quando um prompt é suficiente · Locais de arquivos de configuração MCP e chaves JSON, para cada cliente · Por que um servidor MCP não aparece, em ordem de probabilidade · Como a pesquisa do registro MCP realmente funciona, medida · O que realmente está no registro MCP: 6.000 linhas contadas · stdio ou streamable HTTP: qual transporte MCP e o que quebra · Versões do protocolo MCP: o que cada uma mudou · Cada campo em uma entrada de configuração de servidor MCP, por cliente · Escopos de configuração MCP: qual definição vence quando um servidor é definido duas vezes · Onde cada cliente MCP grava seus logs · Enviando um servidor MCP: um pacote para baixar ou uma URL para colar · O que há dentro de um pacote MCP .mcpb · Cobrando por um servidor MCP: como o licenciamento realmente funciona · Quanto texto um servidor MCP pode retornar e quanto ele pode descrever · O que verificar antes de deixar um servidor MCP rodar · Por que um diretório diz que seu servidor MCP hospedado não está respondendo · O registro MCP vincula uma URL remota a um nome de servidor · Letras maiúsculas no seu nome de usuário do GitHub mudam sua classificação no registro MCP · Quantos servidores MCP já têm sua palavra no nome · Referência de campos do server.json para o registro MCP · Quando uma ferramenta MCP falha, não retorne um erro JSON-RPC · structuredContent e outputSchema no MCP, e o que DEVE ser mantido · Regras para nomear uma ferramenta MCP e a colisão que ninguém planeja · MCP não tem sessão, então como duas chamadas de ferramenta compartilham estado · x-mcp-header: espelhando parâmetros de ferramenta em cabeçalhos HTTP · Como um diretório pontua um servidor MCP e por que sua pior ferramenta decide isso · O que os rastreadores de IA buscam que o Googlebot não busca, medido em 141 URLs · A API de Inspeção de URL do Search Console muda sua resposta entre chamadas · Quais servidores MCP funcionam colando uma URL, sem nada instalado · Onde encontrar servidores MCP que custam dinheiro e como você realmente paga · Fazendo um assistente preencher um orçamento ou estimativa para um cliente · Existe um servidor MCP para livro de caixa pequeno ou livro de caixa · Conversão de moedas em um assistente e qual servidor MCP usar · Compactando e descompactando arquivos a partir de um assistente, e o que as proteções fazem · Produzindo um cronograma de entrega ou um documento de ordem de serviço a partir de um chat · Um servidor MCP enviará a fatura por e-mail para meu cliente · Um assistente pode ler uma foto de um recibo e registrar a despesa · Qual servidor MCP pode gerar PDFs de fatura a partir de uma mensagem de chat? · Um servidor MCP pode ler um PDF de extrato bancário e categorizar as transações? · Melhores servidores MCP para contabilidade e papelada de pequenas empresas em 2026 · Diretório de Fornecedores MCP: evite que listas de fornecedores apodreçam em uma planilha · Contrato de Serviço MCP: pare de copiar um modelo de contrato podre da internet · Registro de Manutenção MCP: saiba qual serviço é devido sem que ninguém precise lembrar · Registro de Quilometragem MCP: mantenha o registro dedutível no momento da viagem, não em abril · Melhores práticas de condições de pagamento de faturas: Net 30, data de vencimento e multas por atraso · Como categorizar transações bancárias · Modelo de registro de caixa pequeno · Faça perguntas sobre uma planilha no chat, sem precisar de fórmulas · Transforme um orçamento ou estimativa em fatura sem redigitá-lo · Produza um cronograma de entrega e uma ordem de serviço a partir de um chat · Use servidores MCP sem instalar nada, colando uma URL · Servidores MCP para contabilidade de pequenas empresas: o resumo · Como encontrar e pagar por servidores MCP · Rastreie horas faturáveis como entradas de timesheet em vez de um cronômetro de parede · Converta um CSV em JSON para uma importação de API ou uma ferramenta de desenvolvimento · Construa um NDA ou acordo de confidencialidade mútua a partir de cláusulas · Faça uma lista de embalagem ou nota de entrega a partir do pedido no chat · Execute uma contagem de estoque com códigos de barras e atualize o catálogo no chat · Mescle arquivos PDF no Claude ou no Cursor sem enviá-los para nenhum lugar · Divida um PDF em documentos separados a partir da janela de chat · Acompanhe despesas e orçamentos dentro do Claude sem uma assinatura de SaaS · Execute sessões de foco pomodoro a partir do Claude e cobre as horas depois · Acompanhe preços de produtos e receba alertas de queda no seu chat de IA · Rastreie tempo faturável e exporte timesheets a partir do seu chat de IA · Mantenha números de fatura sequenciais e nunca reutilize um · Verificação de currículo ATS e carta de apresentação a partir do chat: passe no parser antes do recrutador · Faturamento de freelancer a partir do chat: horas faturáveis para linhas de fatura para PDF sem assinatura de SaaS · Alertas de queda de preço e limpeza de PDF a partir do chat: dois pequenos trabalhos que você fica adiando · Converta USD para cedis, rands e xelins no Claude com taxas reais · Construa um cronograma de amortização de empréstimo a partir do chat e exporte-o para o Excel · Todos os guias
Mais servidores
Servidor MCP para Extratos de Conta — Saldos de Clientes a partir do Claude · Servidor MCP para Livro de Caixa — Recebimentos, Pagamentos e Saldos a partir do Claude · Amortização MCP · Servidor MCP de Caixa Pequeno — Acompanhe um Fundo de Caixa Pequeno a partir do Claude · Ordem de Serviço MCP · Catálogo MCP · Ordem de Alteração MCP · Servidor MCP para Cronogramas de Entrega — Entregas Atrasadas a partir do Claude