货币MCP服务器
MCP(Model Context Protocol)是一个用于根据国家代码检索货币汇率的服务器。
描述
该服务器提供了一个工具,用于根据国家代码识别货币并获取当前汇率。服务器:
- 接受国家代码(ISO 3166-1 Alpha-2,例如“US”、“GB”、“RU”)
- 确定国家货币
- 通过Exchange Rate API获取当前汇率
机会
工具(tools)
get_currency_by_country-获取有关国家货币和汇率的信息
- 参数: - country_code (强制性)-国家代码ISO 3166-1 Alpha-2(例如,“US”、“GB”、“RU”、“JP”、“DE”) - target_currency (可选)-转换目标货币(默认为“USD”)
要求
- Java 17或更高版本
- Internet连接(对于Exchange Rate API请求API)
安装和启动
1.项目装配
cd /Users/evgeniy/Desktop/Projects/mcp-currency-server
./gradlew build2.创建Fat Jar
./gradlew fatJar这将创建一个jar文件 build/libs/mcp-currency-server-1.0.0.jar
3.启动服务器
服务器支持两种工作模式:
STDIOрежим(克劳德桌面)
java -jar build/libs/mcp-currency-server-1.0.0.jar
# или явно
java -jar build/libs/mcp-currency-server-1.0.0.jar stdioSSE/HTTP模式(适用于Android和Web应用程序)
# Запуск на порту 3000 (по умолчанию)
java -jar build/libs/mcp-currency-server-1.0.0.jar sse
# Запуск на другом порту
java -jar build/libs/mcp-currency-server-1.0.0.jar sse 8080服务器将在地址可用 http://localhost:3000 Endpoints:
GET /health- 性能检查GET /info-服务器信息POST /mcpJSON-RPC查询GET /sse-SSE连接POST /message-向SSE会话发送消息
使用Claude Desktop
将以下配置添加到Claude Desktop文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"currency": {
"command": "java",
"args": [
"-jar",
"/Users/evgeniy/Desktop/Projects/mcp-currency-server/build/libs/mcp-currency-server-1.0.0.jar"
]
}
}
}然后重新启动Claude Desktop。
使用示例
在Claude Desktop中,您可以问:
- “日本使用什么货币(JP),它对美元的汇率是多少?”
- 显示俄罗斯货币汇率(RU)
- “英国(GB)对欧元的汇率是多少?”
- 显示德国货币汇率(DE)
答案示例
💱 Currency Information
🌍 Country: United Kingdom (GB)
💵 Currency: British Pound (GBP)
📊 Exchange Rate:
1 GBP = 1.2534 USD
1 USD = 0.7978 GBP
💡 Example conversions:
100 GBP = 125.34 USD
100 USD = 79.78 GBP支持的国家和货币
服务器支持50多个国家及其货币,包括:
主要货币
- 美国 -美国(USD)
- GB -英国(英镑)
- 日本 -日本(日元)
- 俄 -俄罗斯(RUB)
- 中国 -中国(人民币)
- CA -加拿大(CAD)
- 澳大利亚 -澳大利亚(AUD)
- 中国 -瑞士(CHF)
- 在……里面 -印度(INR)
欧元区(EUR)
DE、FR、IT、ES、NL、BE、AT、PT、GR、FI,即SK、SI、LT、LV、EE、CY、MT、LU
亚洲
- 日本 -日本(日元)
- 中国 -中国(人民币)
- KR -韩国(KRW)
- 新加坡 -新加坡(SGD)
- 香港 -香港(HKD)
- 台湾 -台湾
- 泰国 -泰国(泰铢)
- 我的 -马来西亚(马来西亚令吉)
- ID -印度尼西亚(IDR)
- PH -菲律宾(PHP)
- 越南盾 -越南(VND)
其他区域
- 巴西 -巴西(BRL)
- MX -墨西哥(MXN)
- 增强现实 -阿根廷(ARS)
- ZA -南非(ZAR)
- TR -土耳其(TRY)
- AE -阿联酋
- SA -沙特阿拉伯(SAR)
- EG -埃及(EGP)
和许多其他人。..
开发
项目结构
mcp-currency-server/
├── src/main/kotlin/com/claude/mcp/currency/
│ ├── Main.kt # Точка входа
│ ├── CurrencyService.kt # Сервис работы с валютой
│ ├── McpServerHandler.kt # Обработчик MCP протокола
│ ├── StdioTransport.kt # STDIO транспорт (для Claude Desktop)
│ ├── SseTransport.kt # SSE/HTTP транспорт (для Android/Web)
│ └── protocol/
│ └── McpProtocol.kt # MCP протокол
├── build.gradle.kts # Gradle конфигурация
├── README.md # Документация
└── ANDROID_INTEGRATION.md # Android интеграция使用的API
API汇率 -获取汇率
- 端点:
https://api.exchangerate-api.com/v4/latest/{currency} - 免费API无需注册
- 支持全球所有主要货币
国家代码(ISO 3166-1 alpha-2)
使用两个字母的国家代码:
- 美国-美国
- GB-英国
- RU-俄罗斯
- DE-德国
- FR-法国
- JP-日本
- CN-中国
- 等等。D.其他事项
完整的列表可在https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
与Android应用程序集成
服务器支持SSE/HTTP模式连接到Android应用程序。
见E/CN.4/Sub.2/2000/SR.1。完整的文档和代码示例: ANDROID_集成.md
Android快速启动:
- 以SSE模式启动服务器:
java -jar build/libs/mcp-currency-server-1.0.0.jar sse 3000- 使用HTTP客户端(OKHTTP,Retrofit)查询
http://:3000/mcp
- 查询示例:
// POST http://192.168.1.100:3000/mcp
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_currency_by_country",
"arguments": {
"country_code": "RU"
}
}
}记录
日志显示在stderr中。您可以将日志级别设置为 src/main/resources/logback.xml
许可证
麻省理工学院
