Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Currency conversion and exchange rates for AI. 170+ currencies, historical data back to 1999.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
UNIRATE_API_KEY标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"unirate-api": {
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add unirate-api --env UNIRATE_API_KEY=your-value -- npx -y @unirate/mcp运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"unirate-api": {
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"unirate-api": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@unirate/mcp"
],
"env": {
"UNIRATE_API_KEY": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 UniRate-API 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:UNIRATE_API_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.2.2)于6个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Spec Driven Development, Remote Desktop Commander, FlyDocs
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
A Model Context Protocol server for the UniRate API — give Claude, Cursor, Continue, and any MCP-compatible AI assistant first-class access to currency conversion and exchange rates.
@modelcontextprotocol/sdkMost "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.
npm install -g @unirate/mcp
Or run on demand with npx @unirate/mcp (no install).
Free tier covers convert, latest_rate, and list_currencies. Sign up at unirateapi.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
By default the server uses stdio, 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
UNIRATE_API_KEY=your-key UNIRATE_MCP_HTTP_PORT=3001 unirate-mcp
That exposes:
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.) at http://your-host:3001/mcp. Drop it behind a reverse proxy + TLS for production.
Multi-arch images (linux/amd64, linux/arm64) are published to both the GitHub Container Registry (ghcr.io/unirate-api/unirate-mcp) and Docker Hub (unirate/unirate-mcp) — use whichever you prefer:
# 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
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 at http://your-host:3001/mcp for the Streamable HTTP transport.
The package exports buildServer(client) so you can wire it to whatever transport your runtime prefers. For Workers / Deno / Bun, use the SDK's webStandardStreamableHttp transport with an exported buildServer instance.
import { UnirateClient } from "@unirate/mcp/dist/client.js";
import { buildServer } from "@unirate/mcp"; // → connect to your runtime's preferred transport
convertConvert an amount from one currency to another at the latest rate.
| Param | Type | Required | Notes |
|---|---|---|---|
from | string | yes | ISO 4217 code (e.g. USD) |
to | string | yes | ISO 4217 code (e.g. EUR) |
amount | number | yes | Positive amount in from |
Example call:
{ "name": "convert", "arguments": { "from": "USD", "to": "EUR", "amount": 100 } }
Response: human-readable text plus structured { from, to, amount, result }.
latest_rateGet current exchange rate(s).
| Param | Type | Required | Notes |
|---|---|---|---|
from | string | yes | Base currency |
to | string | no | Target. Omit to get rates for all currencies |
historical_rate *(Pro plan)*Get the exchange rate that was in effect on a specific date. Coverage back to 1999-01-04 for major fiat pairs.
| Param | Type | Required | Notes |
|---|---|---|---|
date | string | yes | YYYY-MM-DD (e.g. 2020-03-15) |
from | string | yes | Source currency |
to | string | yes | Target currency |
amount | number | no | Defaults to 1 |
Free-tier keys receive a clear error pointing to unirateapi.com for upgrade.
list_currenciesReturns 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:
| HTTP | Error class | What the model sees |
|---|---|---|
| 400 | InvalidRequestError | "Invalid request parameters" |
| 401 | AuthenticationError | "Missing or invalid API key" |
| 403 | ProPlanRequiredError | "…requires Pro… upgrade at https://unirateapi.com" |
| 404 | InvalidCurrencyError | "Currency not found or no data available" |
| 429 | RateLimitError | "Rate limit exceeded" |
| 503 | APIError | "Service unavailable" |
Network/timeout errors are wrapped in UnirateError. Tool calls always return a response object with isError: true rather 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 the UniRate-API org.
Core clients (9 languages) Python · Node.js / TypeScript · Go · Rust · Java · Ruby · PHP · .NET · Swift
JavaScript / TypeScript React · Next.js · Remix · SvelteKit · Vue · Angular · Nuxt · NestJS · tRPC
Static-site generators Astro · Eleventy · Hugo · Jekyll
CMS & e-commerce Wagtail · WordPress · WooCommerce · Drupal · Strapi · Medusa · Symfony · Laravel · Directus
Data, AI & backend LangChain (Python) · LangChain.js · FastAPI · Flask · Django REST Framework · Apache Airflow · dbt
Platform & tools MCP server · CLI · Cloudflare Workers · Home Assistant · n8n · Google Sheets · VS Code · Obsidian
Money library bridges money gem (Ruby) · NodaMoney (.NET)
Get a free API key at unirateapi.com.
MIT — see LICENSE.