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-currencyaún no está publicado en npm, por lo que un comandonpx -y @theluckystrike/mcp-currencyfallará. Las tres rutas anteriores son las que funcionan y cada una se prueba en CI.

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
| Herramienta | Qué hace |
|---|---|
rates_latest | Los últimos tipos de referencia del BCE, reexpresados frente a cualquier base. quotes opcional para reducir la lista. |
convert | Convierte un importe entre dos monedas, hoy o en una fecha pasada. Indica el tipo, la fecha del tipo y el redondeo. |
convert_many | Un importe en varias monedas a la vez, todo con la misma fecha de tipo. |
fx_rates_for | Devuelve el objeto fx_rates que acepta el expense_to_invoice del rastreador de gastos, más la fecha del tipo. |
rate_history | Un par durante un período, con mínimo, máximo, promedio y el cambio en ese período. |
rate_on | El 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_list | Cada moneda que cotiza el BCE, con su tipo en euros y su número de decimales. |
cache_status | Qué hay en caché, cuánto tiene de antigüedad, cuándo se actualiza y dónde se guarda. |
license_status / license_activate | Comprueba 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
| Gratis | Pro ($19 de pago único) | |
|---|---|---|
Últimos tipos, convert, convert_many, fx_rates_for | Sí, ilimitado | Sí, ilimitado |
| Monedas | Las 30+ que cotiza el BCE | Las 30+ que cotiza el BCE |
| Historial de tipos | Hasta 90 días por llamada, retrocediendo 90 días; un período más amplio se acorta y se responde, con el límite indicado | Períodos ilimitados, hasta 1999-01-04 |
rate_on | Últimos 90 días | Cualquier fecha desde 1999-01-04 |
| Caché sin conexión | Sí | 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_invoiceaceptatarget_currencymás un objetofx_ratesy 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_notedevuelto ("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.xmlyeurofxref-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_exactes el multiplicador,ratees el mismo tipo redondeado a 6 decimales para lectura. Recalcular a mano desde elratede 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:
- URL de documentos MCP: https://gitmcp.io/theluckystrike/mcp-currency