MCP (Model Context Protocol) сервер для получения курса валюты по коду страны.
Этот сервер предоставляет инструмент для определения валюты страны по её коду и получения актуального курса обмена. Сервер:
- Принимает код страны (ISO 3166-1 alpha-2, например 'US', 'GB', 'RU')
- Определяет валюту страны
- Получает текущий курс обмена валюты через Exchange Rate API
get_currency_by_country- Получить информацию о валюте и курсе обмена для страны- Параметры:
country_code(обязательный) - Код страны ISO 3166-1 alpha-2 (например, "US", "GB", "RU", "JP", "DE")target_currency(опциональный) - Целевая валюта для конвертации (по умолчанию "USD")
- Параметры:
- Java 17 или выше
- Интернет соединение (для API запросов к Exchange Rate API)
cd /Users/evgeniy/Desktop/Projects/mcp-currency-server
./gradlew build./gradlew fatJarЭто создаст JAR файл в build/libs/mcp-currency-server-1.0.0.jar
Сервер поддерживает два режима работы:
java -jar build/libs/mcp-currency-server-1.0.0.jar
# или явно
java -jar build/libs/mcp-currency-server-1.0.0.jar stdio# Запуск на порту 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 /mcp- JSON-RPC запросыGET /sse- SSE соединениеPOST /message- отправка сообщений в SSE сессию
Добавьте следующую конфигурацию в файл Claude Desktop:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %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)"
- "What is the currency exchange rate for Great Britain (GB) to EUR?"
- "Покажи курс валюты для Германии (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 стран и их валют, включая:
- US - United States (USD)
- GB - United Kingdom (GBP)
- JP - Japan (JPY)
- RU - Russia (RUB)
- CN - China (CNY)
- CA - Canada (CAD)
- AU - Australia (AUD)
- CH - Switzerland (CHF)
- IN - India (INR)
DE, FR, IT, ES, NL, BE, AT, PT, GR, FI, IE, SK, SI, LT, LV, EE, CY, MT, LU
- JP - Japan (JPY)
- CN - China (CNY)
- KR - South Korea (KRW)
- SG - Singapore (SGD)
- HK - Hong Kong (HKD)
- TW - Taiwan (TWD)
- TH - Thailand (THB)
- MY - Malaysia (MYR)
- ID - Indonesia (IDR)
- PH - Philippines (PHP)
- VN - Vietnam (VND)
- BR - Brazil (BRL)
- MX - Mexico (MXN)
- AR - Argentina (ARS)
- ZA - South Africa (ZAR)
- TR - Turkey (TRY)
- AE - UAE (AED)
- SA - Saudi Arabia (SAR)
- EG - Egypt (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 интеграция
Exchange Rate API - для получения курсов валют
- Endpoint:
https://api.exchangerate-api.com/v4/latest/{currency} - Бесплатный API без необходимости регистрации
- Поддерживает все основные мировые валюты
Используйте двухбуквенные коды стран:
- US - United States
- GB - Great Britain
- RU - Russia
- DE - Germany
- FR - France
- JP - Japan
- CN - China
- И т.д.
Полный список доступен на https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
Сервер поддерживает SSE/HTTP режим для подключения с Android приложений.
См. полную документацию и примеры кода: ANDROID_INTEGRATION.md
- Запустите сервер в SSE режиме:
java -jar build/libs/mcp-currency-server-1.0.0.jar sse 3000-
Используйте HTTP клиент (OkHttp, Retrofit) для запросов к
http://<server-ip>: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
MIT