Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TCMB MCPwhat's the current USD to TRY exchange rate?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TCMB MCP
Production-ready MCP (Model Context Protocol) server for Turkish Central Bank (TCMB) exchange rates.
Features
Current Rates: Get today's exchange rates from TCMB
Historical Rates: Query rates for any date since 1996
Currency Conversion: Convert between any currencies (including TRY)
Rate History: Get rate history with statistics (min, max, avg, change %)
Multi-Currency Comparison: Compare multiple currencies over time
Smart Caching: SQLite-based cache with configurable TTL
Holiday Support: Automatic fallback to previous business day
Turkish Holidays: Includes all official and religious holidays
Installation
Using Smithery (Recommended)
Install directly via Smithery:
npx -y @smithery/cli install @ofurkanuygur/tcmb_mcp --client claudeUsing uv (Local Development)
git clone https://github.com/ofurkanuygur/tcmb_mcp.git
cd tcmb_mcp
uv venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e .Using pip
pip install tcmb-mcpUsage
Claude Desktop Configuration
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"tcmb": {
"command": "python",
"args": ["-m", "tcmb_mcp"],
"env": {
"TCMB_CACHE_ENABLED": "true",
"TCMB_DEBUG": "false"
}
}
}
}Running Manually
# stdio mode (default, for Claude Desktop)
python -m tcmb_mcp
# HTTP mode (for Smithery deployment)
MCP_TRANSPORT=http python -m tcmb_mcpTesting with MCP Inspector
npx @modelcontextprotocol/inspector python -m tcmb_mcpAvailable Tools
1. tcmb_get_current_rates
Get current exchange rates from TCMB.
Dolar ve Euro kurunu göster
→ tcmb_get_current_rates(currencies=["USD", "EUR"])2. tcmb_get_historical_rates
Get exchange rates for a specific date.
15 Ocak 2024 kurlarını getir
→ tcmb_get_historical_rates(date="2024-01-15")3. tcmb_list_currencies
List all available currencies.
Hangi para birimleri var?
→ tcmb_list_currencies()4. tcmb_convert_currency
Convert between currencies.
1000 Dolar kaç TL?
→ tcmb_convert_currency(amount=1000, from_currency="USD", to_currency="TRY")5. tcmb_get_rate_history
Get rate history with statistics.
Son 30 günde Dolar nasıl değişti?
→ tcmb_get_rate_history(currency="USD", start_date="2024-11-01", end_date="2024-11-30")6. tcmb_compare_currencies
Compare multiple currencies.
Dolar, Euro ve Sterlin'i karşılaştır
→ tcmb_compare_currencies(target_currencies=["USD", "EUR", "GBP"])Configuration
Environment Variables
Variable | Default | Description |
|
| Enable SQLite caching |
|
| Cache database path |
|
| Cache TTL for today (seconds) |
|
| Cache TTL for historical (seconds) |
|
| API timeout (seconds) |
|
| Maximum retry attempts |
|
| Enable debug logging |
|
| Log level |
|
| Transport mode ( |
|
| HTTP server port (when using HTTP transport) |
Development
Setup
git clone https://github.com/ofurkanuygur/tcmb_mcp.git
cd tcmb_mcp
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"Running Tests
# All tests
pytest
# With coverage
pytest --cov=src/tcmb_mcp --cov-report=term-missing
# Unit tests only
pytest tests/unit/Code Quality
# Linting
ruff check src/
# Type checking
mypy src/Local HTTP Server Testing
# Start server in HTTP mode
MCP_TRANSPORT=http python -m tcmb_mcp
# Test with Smithery playground
npx -y @smithery/cli playground --port 8080Docker
Build
docker build -t tcmb-mcp .Run
docker run -p 8080:8080 tcmb-mcpAPI Reference
TCMB URL Format
Today's rates:
https://www.tcmb.gov.tr/kurlar/today.xmlHistorical:
https://www.tcmb.gov.tr/kurlar/YYYYMM/DDMMYYYY.xmlExample: January 15, 2024 →
/kurlar/202401/15012024.xml
Rate Types
Type | Turkish | Description |
| Döviz Alış | Electronic transfer buying rate |
| Döviz Satış | Electronic transfer selling rate |
| Efektif Alış | Cash buying rate |
| Efektif Satış | Cash selling rate |
Author
Oktay Furkan Uygur
GitHub: @ofurkanuygur
Acknowledgments
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.