UniRate MCP
About
Currency conversion and exchange rates for AI assistants. 170+ currencies (fiat + major crypto), historical data back to 1999, free tier, MIT-licensed. Stdio + Streamable HTTP/SSE transports. Tools: convert, latest_rate, historical_rate, list_currencies.
Details
- Author
- UniRate-API
- Downloads
- 293
- Categories
- Other, Finance, API
Jump to
- Real-time conversion between 170+ currencies (fiat & crypto)
- Historical exchange rates back to 1999 (Pro plan)
- Free tier available, no credit card required
- Four fully-typed tools with structured outputs
- Supports Stdio and Streamable HTTP/SSE transports
- Pure Node 18+, minimal dependencies
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
UniRate MCPCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install globally with npm install -g @unirate/mcp or run on demand with npx @unirate/mcp. Get a free API key at unirateapi.com. Configure the server in your MCP client’s JSON config (e.g., Claude Desktop or Cursor) by setting the UNIRATE_API_KEY environment variable. To run as a remote endpoint, use the --http flag (e.g., unirate-mcp --http 3001). The package also exports buildServer(client) for programmatic use in edge runtimes.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"unirate mcp": {
"unirate": {
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "<YOUR_UNIRATE_API_KEY>"
}
}
}
}
}
McpServers
{
"unirate": {
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "<YOUR_UNIRATE_API_KEY>"
}
}
}
AModel Context Protocolserver for theUniRate API— give Claude, Cursor, Continue, and any MCP-compatible AI assistant first-class access to currency conversion and exchange rates.
- 🔄 Real-time conversion between170+ currencies(fiat + major crypto)
- 📈Historical rates back to 1999(Pro plan)
- 🆓Free tier, no credit card required — get a key atunirateapi.com
- 🧩 Four tools, fully-typed inputs (Zod schemas), structured outputs
- 🌐Stdio + Streamable HTTP/SSE transports— run locally or host as a remote MCP endpoint
- ⚡ Pure Node 18+, single dependency on@modelcontextprotocol/sdk
Most "currency for AI" workflows today involve hand-rolled fetch wrappers in custom tools, or generic HTTP MCP servers that hand the model raw JSON. This server gives models a tight, typed, currency-aware tool surface — they ask "what was 100 USD in EUR on 2020-03-15?" and get back a formatted answer plus a structured payload they can chain into other tool calls.
Or run on demand withnpx @unirate/mcp(no install).
Free tier coversconvert,latest_rate, andlist_currencies. Sign up atunirateapi.com— no credit card required.
Edit~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows):
{ "mcpServers": { "unirate": { "command": "npx", "args": ["-y", "@unirate/mcp"], "env": { "UNIRATE_API_KEY": "your-api-key-here" } } } }
Restart Claude Desktop. The four UniRate tools will appear in the tool picker.
Add to your MCP config (.cursor/mcp.json,~/.continue/config.json, etc.):
{ "mcpServers": { "unirate": { "command": "npx", "args": ["-y", "@unirate/mcp"], "env": { "UNIRATE_API_KEY": "your-api-key-here" } } } }
git clone https://github.com/UniRate-API/unirate-mcp.git cd unirate-mcp npm install && npm run build UNIRATE_API_KEY=your-key node dist/index.js
4. Run as a remote endpoint (Streamable HTTP / SSE)
By default the server usesstdio, which is what Claude Desktop and most MCP clients want. To host it as a remote endpoint instead — for shared use, multi-user deployments, or browser-based clients — start it in HTTP mode:
UNIRATE_API_KEY=your-key unirate-mcp --http 3001 # or via env: UNIRATE_API_KEY=your-key UNIRATE_MCP_HTTP_PORT=3001 unirate-mcp
- POST /mcp— Streamable HTTP endpoint (SSE-capable). Stateless: a fresh server is built per request, so the same process can serve many concurrent clients.
- GET /healthz— JSON liveness probe ({ "status": "ok", "server": "unirate-mcp", "version": "..." }).
Point any Streamable-HTTP-capable MCP client (Claude Desktop with remote server support, Cursor remote MCP, etc.) athttp://your-host:3001/mcp. Drop it behind a reverse proxy + TLS for production.
Multi-arch images (linux/amd64, linux/arm64) are published to theGitHub Container Registry:
# stdio mode (for local AI clients — pipe stdin/stdout) docker run --rm -i -e UNIRATE_API_KEY="your-key" \ ghcr.io/unirate-api/unirate-mcp:latest # HTTP/SSE mode (hosted endpoint on :3001) docker run --rm -p 3001:3001 -e UNIRATE_API_KEY="your-key" \ ghcr.io/unirate-api/unirate-mcp:latest --http 3001
Point an MCP client athttp://your-host:3001/mcpfor the Streamable HTTP transport.
Programmatic / edge runtimes (Cloudflare Workers, Deno, Bun)
The package exportsbuildServer(client)so you can wire it to whatever transport your runtime prefers. For Workers / Deno / Bun, use the SDK'swebStandardStreamableHttptransport with an exportedbuildServerinstance.
import { UnirateClient } from "@unirate/mcp/dist/client.js"; import { buildServer } from "@unirate/mcp"; // → connect to your runtime's preferred transport
Convert an amount from one currency to another at the latest rate.
{ "name": "convert", "arguments": { "from": "USD", "to": "EUR", "amount": 100 } }
Response:human-readable text plus structured{ from, to, amount, result }.
Get the exchange rate that was in effect on a specific date. Coverage back to1999-01-04for major fiat pairs.
Free-tier keys receive a clear error pointing tounirateapi.comfor upgrade.
Returns the array of supported currency codes (170+) with no parameters. Useful for autocomplete or validating user-supplied codes.
All UniRate API failures are mapped to friendly tool errors:
Network/timeout errors are wrapped inUnirateError. Tool calls always return a response object withisError: truerather than throwing protocol-level errors, so the model can recover gracefully.
npm install npm run build # compile TypeScript to dist/ npm test # 24 mock tests UNIRATE_LIVE=1 UNIRATE_API_KEY=... npm run test:live # +4 live free-tier tests
UniRate ships official integrations for 40+ ecosystems, all maintained under theUniRate-APIorg.
Core clients (9 languages)Python·Node.js / TypeScript·Go·Rust·Java·Ruby·PHP·.NET·Swift
JavaScript / TypeScriptReact·Next.js·Remix·SvelteKit·Vue·Angular·Nuxt·NestJS·tRPC
Static-site generatorsAstro·Eleventy·Hugo·Jekyll
CMS & e-commerceWagtail·WordPress·WooCommerce·Drupal·Strapi·Medusa·Symfony·Laravel·Directus
Data, AI & backendLangChain (Python)·LangChain.js·FastAPI·Flask·Django REST Framework·Apache Airflow·dbt
Platform & toolsMCP server·CLI·Cloudflare Workers·Home Assistant·n8n·Google Sheets·VS Code·Obsidian
Money library bridgesmoney gem (Ruby)·NodaMoney (.NET)
Connect to any financial, utility, billing accounts; retrieve balance, transactions, payment and identity data instantly.
Analyze and visualize financial data of listed companies using the DART API.
Real-time electricity spot prices and contract recommendations for AI agents — covering the Nordics and Germany.
Stock Market & Financial Data MCP Server – FinancialData.Net
Options Analytics API - GEX Exposure Greeks Volatility
A Model Context Protocol (MCP) server that exposes public Bank of Russia (Центральный банк РФ, CBR) data — currency quotes, key rate, inflation and a compact macro snapshot — to AI agents.
MCP server for Indian APIs — GSTIN, IFSC, PAN, UPI, pincode, HSN/SAC. Zero auth. Offline-first. For AI agents.
Brazilian fixed income & financial data for AI - Selic, CDI, IPCA, CDB/LCI rankings and market quotes via JSON-RPC
Real-time oil, gas, and commodity prices. 40+ energy commodities with natural language queries, price subscriptions, and analyst prompts.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




