mcp-currency

Tipos de cambio en vivo y conversión de divisas dentro de tu chat de IA: convierte cualquier cantidad entre más de 150 monedas con tasas actualizadas.

Documentación

mcp-currency

Servidor MCP para conversión de divisas: convierte monedas con un conversor basado en los tipos de cambio reales del BCE. Tipos de referencia del BCE: conversión, historial y fx_rates para facturación.

Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Model Context Protocol. Se ejecuta en tu propia máquina o se aloja sin necesidad de instalación.

Página del producto: https://mcp.zovo.one/s/currency — qué hace, las herramientas que expone y un endpoint de token en vivo.

Instalación

Alojado, nada que instalar. Obtén un token de https://mcp.zovo.one/mcp/connect (la página de conexión) o de https://mcp.zovo.one/mcp/token (el mismo token en JSON); se emite uno anónimo gratuito al instante y una clave Pro funciona igual. Luego apunta un cliente MCP a https://mcp.zovo.one/mcp/currency mediante streamable-http y envía el token como Authorization: Bearer <token>.

Si tu cliente no puede configurar cabeceras, coloca el token en la ruta: https://mcp.zovo.one/mcp/currency/t/<token>. Ambas formas funcionan. La URL sin token responde 401 en tools/call, por lo que el token no es opcional.

Claude Desktop, un clic. Descarga currency.mcpb desde la última versión y haz doble clic en él.

Desde el código fuente. El espejo es autónomo: cada dependencia de @theluckystrike/* está incluida, por lo que un clon nuevo se compila sin configuración adicional.

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

Luego apunta tu cliente al punto de entrada compilado:

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

@theluckystrike/mcp-currency aún no está publicado en npm, por lo que un comando npx -y @theluckystrike/mcp-currency fallará. Las tres rutas anteriores son las que funcionan y cada una se prueba en CI.

currency demo

Espejo de solo lectura de mcp-servers/servers/currency. Consulta MIRROR.md.

Pregunta a tu asistente cuánto vale algo en otra moneda y obtén una respuesta real con fecha. Lee los tipos de cambio de referencia diarios del euro del Banco Central Europeo, la misma serie publicada que usan bancos, autoridades fiscales y contables, convierte importes entre cualquiera de las monedas que cotiza el BCE y muestra cómo ha evolucionado un par a lo largo del tiempo. No hay clave API, ni cuenta ni límite de peticiones, porque el BCE publica el archivo abiertamente. Ambos archivos se almacenan en caché en tu propia máquina, por lo que tras la primera descarga cada respuesta es instantánea y el servidor sigue funcionando en un avión. Cada respuesta indica qué fecha de tipo de cambio utilizó, porque los tipos del BCE se publican una vez al día y un domingo lleva el tipo del viernes.

Creado por theluckystrike.

En el Registro oficial de MCP (io.github.theluckystrike/currency-converter-ecb-rates-daily-keyless).

Listado en el Índice de Productos de IA — endpoint remoto en vivo en mcp.zovo.one/s/currency, nivel gratuito, sin registro.

Instalación en 60 segundos

La publicación en npm para @theluckystrike/mcp-currency está pendiente. Hasta entonces, el paquete de un clic .mcpb o un clon+compilación es la ruta que funciona; ambas se verifican a continuación.

Un clic (.mcpb): descarga currency.mcpb desde la última versión y haz doble clic en 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"]
    }
  }
}

La forma npx anterior empieza a funcionar en cuanto se publique el paquete. Hasta entonces, usa el paquete .mcpb anterior o compila desde el código fuente con exactamente estos tres 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

Luego apunta el command de tu cliente a node con un argumento: la ruta absoluta a servers/currency/dist/index.js.

Para ejecutar en modo Pro, establece MCP_LICENSE_KEY en el mismo bloque de configuración, o llama a license_activate una vez con tu clave.

Herramientas

HerramientaQué hace
rates_latestLos últimos tipos de referencia del BCE, reexpresados frente a cualquier base. quotes opcional para reducir la lista.
convertConvierte un importe entre dos monedas, hoy o en una fecha pasada. Indica el tipo, la fecha del tipo y el redondeo.
convert_manyUn importe en varias monedas a la vez, todo con la misma fecha de tipo.
fx_rates_forDevuelve el objeto fx_rates que acepta el expense_to_invoice del rastreador de gastos, más la fecha del tipo.
rate_historyUn par durante un período, con mínimo, máximo, promedio y el cambio en ese período.
rate_onEl tipo en una fecha, con retroceso al último tipo publicado en esa fecha o antes, y lo indica. Se devuelven ambas direcciones (rate y inverse_rate) y published_direction nombra en qué sentido cotiza el propio BCE el par, por lo que el recíproco nunca se transmite como la cifra publicada.
currencies_listCada moneda que cotiza el BCE, con su tipo en euros y su número de decimales.
cache_statusQué hay en caché, cuánto tiene de antigüedad, cuándo se actualiza y dónde se guarda.
license_status / license_activateComprueba o activa una clave Pro. Verificado sin conexión.

El recurso fx://latest expone los tipos en caché como JSON. El prompt convert_invoice_lines recorre toda la cadena rastreador de gastos -> divisas -> factura en un solo paso.

Gratis vs Pro

GratisPro ($19 de pago único)
Últimos tipos, convert, convert_many, fx_rates_forSí, ilimitadoSí, ilimitado
MonedasLas 30+ que cotiza el BCELas 30+ que cotiza el BCE
Historial de tiposHasta 90 días por llamada, retrocediendo 90 días; un período más amplio se acorta y se responde, con el límite indicadoPeríodos ilimitados, hasta 1999-01-04
rate_onÚltimos 90 díasCualquier fecha desde 1999-01-04
Caché sin conexiónSíSí

Un período de historial rechazado devuelve el motivo y la llamada más reducida exacta a realizar; nunca trunca silenciosamente una tabla y nunca devuelve un error de transporte.

Obtén Pro: https://mcp.zovo.one/buy/currency (o $39 por el paquete completo: https://mcp.zovo.one/buy/bundle)

Se combina con

  • expense-tracker, expense_to_invoice acepta target_currency más un objeto fx_rates y pliega un conjunto de gastos multidivisa en una moneda de factura, pero no obtendrá ni inventará un tipo. fx_rates_for {target, currencies} aquí devuelve exactamente ese objeto. "Rehacer factura de Nova en USD" funciona entonces de principio a fin sin que el usuario escriba ni un solo tipo de cambio.
  • invoice, una factura lleva una moneda. Convierte primero, emite después y coloca el invoice_note devuelto ("Convertido a tipos de referencia del BCE del 2026-09-02") en el documento para que el cliente pueda comprobarlo.
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

Cómo funcionan los tipos

  • Fuente: los tipos de referencia del euro del BCE, eurofxref-daily.xml y eurofxref-hist.xml.
  • Publicados alrededor de las 16:00 CET en días hábiles TARGET. No hay tipo para un fin de semana, el 1 de enero, el Viernes Santo, el Lunes de Pascua, el 1 de mayo ni el 25 y 26 de diciembre.
  • Pedir una fecha sin tipo devuelve el último tipo publicado en esa fecha o antes, la convención que usa todo banco, y la respuesta indica en qué fecha aterrizó y por qué. Una fecha dentro del rango en caché sin tipo es un fin de semana o un festivo TARGET y se nombra como tal; una fecha posterior al día más reciente en caché se informa como aún no publicada, con la fecha más reciente de la caché y si esta llamada fue al BCE para buscarla.
  • El BCE cotiza todo frente al euro, por lo que un tipo USD/PLN es un tipo cruzado: la proporción se forma y se multiplica a precisión completa, y el único redondeo en el proceso es el último, a las unidades menores de la moneda objetivo. La respuesta lleva ambos números: rate_exact es el multiplicador, rate es el mismo tipo redondeado a 6 decimales para lectura. Recalcular a mano desde el rate de 6 decimales puede diferir en una o dos unidades menores; queda muy lejos para pares cuyo tipo no está cerca de 1 (1.000.000 VND son KWD 11,667, no KWD 12,000).
  • Los resultados se redondean a las unidades menores ISO 4217 de la moneda objetivo: JPY vuelve entero, BHD a tres decimales.
  • Estos son tipos de referencia para contabilidad e informes. No son tipos de negociación; el tipo de tu banco diferirá.

Privacidad

Todos los datos permanecen locales. La única petición de red que hace este servidor es a www.ecb.europa.eu por los dos archivos públicos de tipos, y solo cuando la copia local tiene más de 6 horas (diaria) o 24 horas (historial). Nada sobre tus importes, tus monedas o tu máquina se envía a ningún sitio. La caché vive en ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/currency/; elimina ese directorio para restablecer el servidor. Establece ECB_BASE_URL para apuntar a tu propio espejo si el acceso saliente está restringido.

Licencia MIT. Soporte: support@zovo.one. Creado por theluckystrike.

Usa estos documentos como servidor MCP

Cualquier cliente MCP (Claude, Cursor, Windsurf, VS Code) puede leer la documentación de este repositorio directamente mediante GitMCP, sin instalación: