convertLABSCO SUMMARY
Free-tier keys get a clear upgrade error, not a mystery failure.
Three of the four tools work on the free tier; historical rates do not, and a free key calling it gets a message that says so and where to upgrade. That, plus errors surfaced as tool results instead of protocol faults, is what separates this from pointing a generic HTTP tool at an exchange-rate endpoint.
What it is
A Node MCP server for the UniRate API. Four tools with Zod-validated inputs and structured outputs, so a model gets both a readable answer and a payload it can chain into the next call — rather than raw JSON from a generic HTTP tool.
What you get
convert— an amount from one currency code to another at the latest ratelatest_rate— the current rate for a pair, or leave the target out and get rates against everythinghistorical_rate— the rate on a given date, with coverage back to 1999-01-04 for major fiat pairs; this one is a Pro-plan calllist_currencies— the supported codes, useful for validating what a user typed- Coverage of 170+ currencies including major crypto
- API failures mapped to clear tool errors — invalid parameters, bad key, Pro required, unknown currency, rate limit, service unavailable — returned as errors the model can recover from rather than protocol faults
- Both stdio and Streamable HTTP, so the same package runs locally or as a shared remote endpoint
Requirements
A UniRate API key in UNIRATE_API_KEY; the free tier covers conversion, latest rates and the currency list, while historical rates need the Pro plan. Install with npm install -g @unirate/mcp or run it through npx; Node 18+ with a single SDK dependency. For a remote endpoint, start it with --http on a port and point clients at /mcp; there is a /healthz probe and a multi-arch container image. MIT licensed.
Setup effort
One command plus a key — npm install -g @unirate/mcp, then supply credentials
USE CASES
Converting a figure mid-conversation
Ask for the amount in another currency and get both the sentence and a structured result to reuse.
Pricing something as of a past date
Look up the rate that was in effect on the day of the invoice rather than today's.
Validating a currency code a user typed
Pull the supported list and check the input before spending a conversion call on a code that does not exist.
4 tools
Listed in project docs. Your client may show a different list.
latest_ratehistorical_ratelist_currenciesBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Requires
- npx on PATH
- UNIRATE_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
npm install -g @unirate/mcpMCP Clients
Claude Desktop, Cursor, Other MCP clients
{
"mcpServers": {
"unirate": {
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "<YOUR_UNIRATE_API_KEY>"
}
}
}
}Any MCP client — from source
git clone https://github.com/UniRate-API/unirate-mcp.git
cd unirate-mcp
npm install
npm run build
UNIRATE_API_KEY=<YOUR_UNIRATE_API_KEY> node dist/index.jsSelf-host — HTTP
UNIRATE_API_KEY=<YOUR_UNIRATE_API_KEY> unirate-mcp --http 3001Any MCP client — Docker stdio
docker run --rm -i -e UNIRATE_API_KEY="<YOUR_UNIRATE_API_KEY>" ghcr.io/unirate-api/unirate-mcp:latestOther routes
Self-host — Docker HTTP
docker run --rm -p 3001:3001 -e UNIRATE_API_KEY="<YOUR_UNIRATE_API_KEY>" ghcr.io/unirate-api/unirate-mcp:latest --http 3001