Zovo Currency MCP Server

Converta moedas e gerencie taxas de câmbio em documentos locais e planilhas. Servidor MCP offline-first, camada gratuita, sem cadastro.

Documentação

mcp-currency

Pergunte ao seu assistente quanto algo vale em outra moeda e obtenha uma resposta real com data. Ele lê as taxas de referência diárias de câmbio do euro do Banco Central Europeu, a mesma série publicada que bancos, autoridades fiscais e contadores usam, converte valores entre qualquer uma das moedas que o BCE cotiza e mostra como um par se moveu ao longo do tempo. Não há chave de API, conta ou limite de taxa, porque o BCE publica o arquivo abertamente. Ambos os arquivos são armazenados em cache na sua própria máquina, então, após o primeiro download, cada resposta é instantânea e o servidor continua funcionando em um avião. Cada resposta informa qual data de taxa usou, porque as taxas do BCE são publicadas uma vez por dia e um domingo carrega a taxa de sexta-feira.

Construído por theluckystrike.

No Registro Oficial de MCP (io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless).

Listado no Índice de Produtos de IA — endpoint remoto ao vivo em mcp.zovo.one/s/currency, nível gratuito, sem cadastro.

currency demo

Instalação em 60 segundos

A publicação no npm para @theluckystrike/mcp-currency está pendente. Até lá, o pacote de um clique .mcpb ou um clone + build é o caminho funcional, ambos verificados abaixo.

Um clique (.mcpb): baixe currency.mcpb da versão mais recente e clique duas vezes nele no Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

(claude_desktop_config.json):

{
  "mcpServers": {
    "currency": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-currency"]
    }
  }
}

Claude Code:

claude mcp add currency -- npx -y @theluckystrike/mcp-currency

(.cursor/mcp.json):

{
  "mcpServers": {
    "currency": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-currency"]
    }
  }
}

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 três comandos:

git clone https://github.com/theluckystrike/mcp-servers.git && cd mcp-servers
npm install
npm run build -w packages/mcp-license -w servers/currency

Em seguida, aponte o command do seu cliente para node com um argumento: o caminho absoluto para servers/currency/dist/index.js.

Para executar no modo Pro, defina MCP_LICENSE_KEY no mesmo bloco de configuração, ou chame license_activate uma vez com sua chave.

Ferramentas

FerramentaO que faz
rates_latestAs taxas de referência mais recentes do BCE, reexpressas em relação a qualquer base. quotes opcional para restringir a lista.
convertConverte um valor entre duas moedas, hoje ou em uma data passada. Informa a taxa, a data da taxa e o arredondamento.
convert_manyUm valor em várias moedas de uma vez, todas com a mesma data de taxa.
fx_rates_forRetorna o objeto fx_rates que o expense_to_invoice do rastreador de despesas aceita, além da data da taxa.
rate_historyUm par ao longo de um período, com mínimo, máximo, média e a variação no período.
rate_onA taxa em uma data, com fallback para a última taxa publicada nessa data ou antes, informando isso. Ambas as direções são retornadas (rate e inverse_rate) e published_direction nomeia de que forma o próprio BCE cotiza o par, para que o recíproco nunca seja repassado como o valor publicado.
currencies_listTodas as moedas que o BCE cotiza, com sua taxa em euro e seu número de casas decimais.
cache_statusO que está em cache, há quanto tempo, quando será atualizado e onde está armazenado.
license_status / license_activateVerifica ou ativa uma chave Pro. Verificado offline.

O recurso fx://latest expõe as taxas em cache como JSON. O prompt convert_invoice_lines percorre toda a cadeia rastreador-de-despesas -> moeda -> fatura em uma única etapa.

Gratuito vs Pro

GratuitoPro ($19 pagamento único)
Taxas mais recentes, convert, convert_many, fx_rates_forSim, ilimitadoSim, ilimitado
MoedasTodas as 30+ que o BCE cotizaTodas as 30+ que o BCE cotiza
Histórico de taxasAté 90 dias por chamada, com retorno de 90 dias; um período maior é encurtado e respondido, com o limite nomeadoPeríodos ilimitados, de volta a 1999-01-04
rate_onÚltimos 90 diasQualquer data desde 1999-01-04
Cache offlineSimSim

Um período de histórico recusado retorna o motivo e a chamada exata mais restrita a fazer; ele nunca trunca silenciosamente uma tabela e nunca retorna um erro de transporte.

Obtenha o Pro: https://mcp.zovo.one/buy/currency (ou $39 pelo pacote completo: https://mcp.zovo.one/buy/bundle)

Integra-se com

  • expense-tracker, expense_to_invoice aceita target_currency mais um objeto fx_rates e converte um conjunto de despesas em várias moedas em uma única moeda de fatura, mas não buscará nem inventará uma taxa. fx_rates_for {target, currencies} aqui retorna exatamente esse objeto. "Rebill Nova in USD" então funciona de ponta a ponta sem que o usuário digite uma única taxa de câmbio.
  • invoice, uma fatura carrega uma moeda. Converta primeiro, emita depois e coloque o invoice_note retornado ("Convertido às taxas de referência do BCE de 2026-09-02") no documento para que o cliente possa verificar.
expense_to_invoice {project, from, to}          -> which currencies are actually present
fx_rates_for {target: "USD", currencies: [...]} -> {"EUR": 1.0812, "GBP": 1.2717}, rate date
expense_to_invoice {..., target_currency: "USD", fx_rates: {...}} -> one currency, every line annotated
invoice_create {currency: "USD", items: [...]}  -> the document

Como as taxas funcionam

  • Fonte: as taxas de referência de câmbio do euro do BCE, eurofxref-daily.xml e eurofxref-hist.xml.
  • Publicadas por volta das 16:00 CET em dias úteis do TARGET. Não há taxa para fim de semana, 1º de janeiro, Sexta-feira Santa, Segunda-feira de Páscoa, 1º de maio ou 25 e 26 de dezembro.
  • Pedir uma data sem taxa retorna a última taxa publicada nessa data ou antes, a convenção que todo banco usa, e a resposta informa em qual data ela caiu e por quê. Uma data dentro do intervalo em cache sem taxa é um fim de semana ou um feriado do TARGET e é nomeada como tal; uma data após o dia mais recente no cache é relatada como ainda não publicada, com a data mais recente do cache e se esta chamada foi ao BCE para procurá-la.
  • O BCE cotiza tudo em relação ao euro, então uma taxa USD/PLN é uma taxa cruzada: a razão é formada e multiplicada com precisão total, e o único arredondamento no caminho é o último, para as unidades menores da moeda alvo. A resposta carrega ambos os números: rate_exact é o multiplicador, rate é a mesma taxa arredondada para 6 casas decimais para leitura. Recalcular manualmente a partir do rate com 6 casas decimais pode diferir em uma ou duas unidades menores; é bem diferente para pares cuja taxa está longe de 1 (1.000.000 VND é KWD 11,667, não KWD 12,000).
  • Os resultados são arredondados para as unidades menores ISO 4217 da própria moeda alvo: JPY retorna inteiro, BHD com três casas.
  • Estas são taxas de referência para contabilidade e relatórios. Não são taxas de negociação; a taxa do seu banco será diferente.

Privacidade

Todos os dados permanecem locais. A única solicitação de rede que este servidor faz é para www.ecb.europa.eu pelos dois arquivos públicos de taxas, e somente quando a cópia local tem mais de 6 horas (diária) ou 24 horas (histórico). Nada sobre seus valores, suas moedas ou sua máquina é enviado a lugar algum. O cache fica em ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/currency/; exclua esse diretório para redefinir o servidor. Defina ECB_BASE_URL para apontar para seu próprio espelho se o acesso de saída estiver restrito.

Licenciado sob MIT. Suporte: support@zovo.one. Construído por 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: