AllRatesToday in Claude Code, Cursor, and DeepSeek
If you ask ChatGPT, Claude, or DeepSeek "what's the USD to EUR rate today?", you usually get a confident-sounding hallucination. Large language models don't know this week's exchange rates — they know rough historical ranges from their training data. For anything financial, that's a problem.
Today we're shipping two integrations that fix this specifically for AllRatesToday:
- An MCP server — so Claude Code, Cursor, Claude Desktop, and any other Model Context Protocol client can call our rate endpoints directly.
- A DeepSeek function-calling package — a Python module that wires up real-time rates as tools for
deepseek-chatanddeepseek-reasoner.
Both are open source, MIT-licensed, and share the same set of tools: current rate, currency conversion, historical data, and supported-currency list. The first two work without an API key.
Why add currency tools to an AI assistant?
Three concrete use cases we've heard from users in the last month:
- Invoice review. "I have an invoice in USD, my books are in EUR — what should I record this as today?" The assistant needs a real rate, not a guess.
- Travel planning. "Plan a 5-day Tokyo trip for 300,000 JPY." Without a live rate, the model can't accurately translate that into your home currency.
- Cross-border quotes. "Quote this SOW at $12,000 USD but show the Brazilian client a BRL figure." Same problem — requires today's mid-market rate.
In each case, the LLM is doing the hard part (understanding intent, formatting output). What it needs is a deterministic tool for the numeric step. That's what these integrations are.
The MCP server: for Claude Code, Cursor, Claude Desktop
The @allratestoday/mcp-server package implements the Model Context Protocol — a standard that lets any MCP-compatible AI client call your tools over stdio.
Install in Claude Code
claude mcp add allratestoday -- npx -y @allratestoday/mcp-server
claude mcp env allratestoday ALLRATES_API_KEY=art_live_xxxxx Install in Cursor or Claude Desktop
Add this to your MCP config (~/.cursor/mcp.json or Claude Desktop's config file):
{
"mcpServers": {
"allratestoday": {
"command": "npx",
"args": ["-y", "@allratestoday/mcp-server"],
"env": { "ALLRATES_API_KEY": "art_live_xxxxx" }
}
}
} Restart the client. Your assistant now has four new tools: get_exchange_rate, get_historical_rates, get_rates_authenticated, and list_currencies. Two of them (get_exchange_rate and list_currencies) don't need a key; the other two do.
Full docs and source: allratestoday.com/mcp and github.com/cahthuranag/mcp-server.
The DeepSeek package: Python function calling
DeepSeek's Chat Completions API is OpenAI-compatible, which means the same function-calling mechanism works out of the box. The allratestoday-deepseek package ships tool schemas, an agent wrapper, and a CLI.
One-shot question
pip install allratestoday-deepseek
export DEEPSEEK_API_KEY=sk-xxxxx
allratestoday-deepseek --ask "What is 2500 USD in EUR right now?" Library usage
from allratestoday_deepseek import DeepSeekCurrencyAgent
with DeepSeekCurrencyAgent() as agent:
print(agent.ask("How many Japanese Yen is 500 Swiss Francs?")) Under the hood, the agent sends your question to deepseek-chat with the tool schemas attached. If DeepSeek decides to call convert_currency, the package executes it against the AllRatesToday API and passes the JSON result back. DeepSeek then produces a final answer citing the actual rate.
If you'd rather drive the tool loop yourself (for integration into LangChain, LangGraph, or a custom orchestrator), import TOOLS and dispatch_tool and wire them in directly. See the raw example.
Full docs: allratestoday.com/deepseek.
What about ChatGPT?
ChatGPT Desktop added MCP support in late 2025, so the MCP server above works there too — same config format as Claude Desktop. For plain chatgpt.com, you can build a Custom GPT with Actions pointed at our OpenAPI spec. That's on our roadmap as an official first-party GPT; until then, our llms.txt tells any browsing-enabled LLM exactly which endpoints to call.
Under the hood: same four tools everywhere
Whether you're using MCP, DeepSeek function calling, or the raw REST API, the operations are the same:
| Tool | Endpoint | API key? |
|---|---|---|
get_exchange_rate | GET /api/rate?source=X&target=Y | no |
convert_currency | (rate × amount, client-side) | no |
get_historical_rates | GET /api/historical-rates | yes |
get_rates_authenticated | GET /api/v1/rates | yes |
list_currencies | GET /api/v1/symbols | no |
All rates are mid-market, sourced from Reuters (Refinitiv) and interbank market feeds. 160+ currencies supported.
Licensing & contributions
Both packages are MIT-licensed. Issues and pull requests are welcome:
- github.com/cahthuranag/mcp-server — MCP server
- github.com/cahthuranag/allratestoday-deepseek — DeepSeek integration
If you build something on top of these — a custom agent, a Slack bot, a trading notebook — we'd love to hear about it.
Real currency data in your AI stack
Free tier with 300 requests per month. No credit card required.
Get your free API key