currency-bot-db
Currency MCP Bot (Lernprojekt)
Ein einfaches Beispiel für die Kombination Telegram-Bot + öffentliche API + Docker/PostgreSQL + MCP + Cursor.
Schema
Telegram
↓
Python Bot
↓
API курса валют
Python Bot
↓
PostgreSQL
↑
MCP
↑
CursorRelated MCP server: postgres-mcp
Was der Telegram-Bot hier macht
Er nimmt die Befehle /start, /usd, /eur, /cny entgegen und antwortet mit dem Wechselkurs der Währung zum Rubel.
Was die API hier macht
Der Bot fragt den aktuellen Wechselkurs bei einer kostenlosen öffentlichen API (open.er-api.com) ab – ohne Schlüssel und ohne Registrierung.
Was Docker hier macht
docker compose startet PostgreSQL in einem Container. Der Bot selbst läuft lokal mit Python.
Was MCP hier macht
Der MCP-Server bietet Cursor zwei Tools für dieselbe Datenbank:
get_recent_requests– die letzen Anfragen der Benutzerget_currency_stats– wie oft USD / EUR / CNY abgefragt wurden
Dateien
Datei | Zweck |
| Telegram-Bot (aiogram) |
| PostgreSQL ohne ORM |
| MCP-Server für Cursor |
| PostgreSQL in Docker |
| MCP-Verbindun in diesem Projekt |
| Geheimnisse und Einstellungen (nicht in Git) |
Schnellstart
1. Python-Abhängigkeiten
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt2. Umgebungsvariablen
Kopieren Sie das Beispiel und fügen Sie den Bot-Token ein:
copy .env.example .envFüllen Sie in .env aus:
TELEGRAM_BOT_TOKEN=ваш_токен_от_BotFather3. PostgreSQL über Docker
docker compose up -dPrüfung:
docker compose ps4. Bot starten
python bot.pySenden Sie dem Bot in Telegram /start, danach /usd, /eur, /cny.
5. MCP in Cursor
Im Projekt gibt es .cursomcp.json. Unter Windows wurde der Server zusätzlich in das benutzerspezifische ~/.cursomcp.json aufgenommen, damit er sicher in der Liste Connected erscheint.
Erstellen Sie zuerst eine venv und installieren Sie die Abhängigkeiten (Schritt 1 oben)
Ctrl+Shift+P→ Developer: Reload WindowÖffnen Sie Settings → MCP
Suchen Sie
currency-bot-db– der Status sollte grün sein, Tools:get_recent_requests,get_currency_stats
Wenn der Server fehlt oder der Status rot ist: prüfen Sie PostgreSQL (docker compose ps) und ob .venv installiert ist.
So erhalten Sie den Telegram-Bot-Token
Öffnen Sie Telegram und suchen Sie @BotFather
Senden Sie
/newbotÜberlegen Sie sich einen Namen und einen Username für den Bot
BotFather sendet Ihnen einen Token der Form
123456:ABC...Fügen Sie ihn in
.envalsTELEGRAM_BOT_TOKEN=...ein
Committen Sie den Token nicht in Git – die Datei .env ist bereits in .gitignore enthalten.
Testanfragen an MCP in Cursor
Nach ein paar Befehlen an den Bot schreiben Sie in den Cursor-Chat:
„Zeig die letzen Anfragen der Benutzer“
„Welche Währungen haben die Benutzer am häuftigsten angefragt?“
„Ruf get_recent_requests mit limit=5 auf“
„Ruf get_currency_stats auf“
Cursor solte die MCP-Tools get_recent_requests und get_currency_stats verwenden.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only analytics for Convex apps, queryable via MCP from Claude, Cursor, and other clients.
Hosted PostgreSQL MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Query your real net worth, spending, transactions, budgets and portfolio from any MCP client.
Analytics for MCP servers. Query your tool calls, first-call success, retries and schema cost.
Related MCP Servers
- AlicenseCqualityDmaintenanceEnables querying PostgreSQL database metadata including table lists and schema information through the MCP protocol. Supports stdio transport for Cursor/IDE integration as well as HTTP transport with health check endpoints.2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for PostgreSQL that enables Cursor and other MCP clients to execute SQL queries, list tables, and explore database schemas via HTTP.1,195 npmMIT
- FlicenseNot gradedqualityFmaintenanceProvides read-only SQL query access to Postgres and DuckDB databases via MCP tools, with extensive security hardening for public endpoints.1-
- AlicenseAqualityDmaintenanceEnables querying and interacting with PostgreSQL databases using natural language through MCP. Supports configuration via environment variables and Cursor IDE integration.3MIT