Skip to main content
Glama
Andrei-Blagov

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
   ↑
Cursor

Related 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:

  1. get_recent_requests – die letzen Anfragen der Benutzer

  2. get_currency_stats – wie oft USD / EUR / CNY abgefragt wurden

Dateien

Datei

Zweck

bot.py

Telegram-Bot (aiogram)

db.py

PostgreSQL ohne ORM

mcp_server.py

MCP-Server für Cursor

docker-compose.yml

PostgreSQL in Docker

.cursomcp.json

MCP-Verbindun in diesem Projekt

.env

Geheimnisse und Einstellungen (nicht in Git)

Schnellstart

1. Python-Abhängigkeiten

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

2. Umgebungsvariablen

Kopieren Sie das Beispiel und fügen Sie den Bot-Token ein:

copy .env.example .env

Füllen Sie in .env aus:

TELEGRAM_BOT_TOKEN=ваш_токен_от_BotFather

3. PostgreSQL über Docker

docker compose up -d

Prüfung:

docker compose ps

4. Bot starten

python bot.py

Senden 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.

  1. Erstellen Sie zuerst eine venv und installieren Sie die Abhängigkeiten (Schritt 1 oben)

  2. Ctrl+Shift+P → Developer: Reload Window

  3. Öffnen Sie Settings → MCP

  4. 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

  1. Öffnen Sie Telegram und suchen Sie @BotFather

  2. Senden Sie /newbot

  3. Überlegen Sie sich einen Namen und einen Username für den Bot

  4. BotFather sendet Ihnen einen Token der Form 123456:ABC...

  5. Fügen Sie ihn in .env als TELEGRAM_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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    Enables 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.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for PostgreSQL that enables Cursor and other MCP clients to execute SQL queries, list tables, and explore database schemas via HTTP.
    1,195 npm
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides read-only SQL query access to Postgres and DuckDB databases via MCP tools, with extensive security hardening for public endpoints.
    1
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables querying and interacting with PostgreSQL databases using natural language through MCP. Supports configuration via environment variables and Cursor IDE integration.
    3
    MIT