mcp-currency

Taxas de câmbio ao vivo e conversão de moedas dentro do seu chat de IA: converta qualquer valor entre mais de 150 moedas com taxas atualizadas.

Documentação

mcp-currency

Servidor MCP para conversão de moedas: converta moedas com um conversor baseado nas taxas de câmbio reais do BCE. Taxas de referência do BCE: conversão, histórico e fx_rates para faturamento.

Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente Model Context Protocol. Roda na sua própria máquina ou hospedado, sem instalação.

Página do produto: https://mcp.zovo.one/s/currency — o que faz, as ferramentas que expõe e um endpoint de token ao vivo.

Instalação

Hospedado, nada para instalar. Obtenha um token em https://mcp.zovo.one/mcp/connect (página de conexão) ou https://mcp.zovo.one/mcp/token (o mesmo token em JSON); um token anônimo gratuito é emitido na hora e uma chave Pro funciona da mesma forma. Em seguida, aponte um cliente MCP para https://mcp.zovo.one/mcp/currency via streamable-http e envie o token como Authorization: Bearer <token>.

Se o seu cliente não puder definir cabeçalhos, coloque o token no caminho: https://mcp.zovo.one/mcp/currency/t/<token>. Ambas as formas funcionam. A URL simples sem token responde 401 em tools/call, então o token não é opcional.

Claude Desktop, um clique. Baixe currency.mcpb do último lançamento e clique duas vezes nele.

A partir do código-fonte. O espelho é autossuficiente: cada dependência @theluckystrike/* é incluída, então um clone novo compila sem configuração extra.

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

Em seguida, aponte seu cliente para o ponto de entrada compilado:

{
  "mcpServers": {
    "currency": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-currency/dist/index.js"]
    }
  }
}

@theluckystrike/mcp-currency ainda não está publicado no npm, então um comando npx -y @theluckystrike/mcp-currency falhará. Os três caminhos acima são os que funcionam e cada um é testado pelo CI.

currency demo

Espelho somente leitura de mcp-servers/servers/currency. Veja MIRROR.md.

Pergunte ao seu assistente quanto vale algo em outra moeda e obtenha uma resposta real com uma data. Ele lê as taxas de câmbio de referência diárias 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 MCP (io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless).

Listado no AI Product Index — endpoint remoto ao vivo em mcp.zovo.one/s/currency, nível gratuito, sem cadastro.

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+compilação é o caminho que funciona, ambos verificados abaixo.

Um clique (.mcpb): baixe currency.mcpb do último lançamento e clique duas vezes 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 qual direção 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; uma janela maior é encurtada e respondida, com limite nomeadoJanelas ilimitadas, com retorno até 1999-01-04
rate_onÚltimos 90 diasQualquer data desde 1999-01-04
Cache offlineSimSim

Uma janela de histórico recusada retorna o motivo e a chamada mais restrita exata a ser feita; nunca trunca silenciosamente uma tabela e nunca retorna um erro de transporte.

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

Combina 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 única moeda. Converta primeiro, emita depois e coloque o invoice_note retornado ("Convertido nas 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 câmbio de referência do euro do BCE, eurofxref-daily.xml e eurofxref-hist.xml.
  • Publicadas por volta das 16:00 CET em dias úteis 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.
  • Solicitar 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 caiu e por quê. Uma data dentro do intervalo em cache sem taxa é um fim de semana ou feriado 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 de 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 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 para os 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 for restrito.

Licença 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: