Skip to main content
Glama
Andrei-Blagov

currency-bot-db

Currency MCP Bot (proyecto educativo)

Un ejemplo sencillo de integración de Telegram Bot + API pública + Docker/PostgreSQL + MCP + Cursor.

Esquema

Telegram
   ↓
Python Bot
   ↓
API курса валют

Python Bot
   ↓
PostgreSQL
   ↑
   MCP
   ↑
Cursor

Related MCP server: postgres-mcp

Qué hace aquí el Telegram Bot

Acepta los comandos /start, /usd, /eur, /cny y responde con el tipo de cambio de la moneda frente al rublo.

Qué hace aquí la API

El bot solicita el tipo de cambio actual a una API pública gratuita (open.er-api.com), sin clave y sin registro.

Qué hace aquí Docker

docker compose levanta PostgreSQL en un contenedor. El propio bot se ejecuta localmente en Python.

Qué hace aquí MCP

El servidor MCP proporciona a Cursor dos herramientas sobre la misma base de datos:

  1. get_recent_requests — últimas solicitudes de los usuarios

  2. get_currency_stats — cuántas veces se ha preguntado por USD / EUR / CNY

Archivos

Archivo

Descripción

bot.py

Bot de Telegram (aiogram)

db.py

PostgreSQL sin ORM

mcp_server.py

Servidor MCP para Cursor

docker-compose.yml

PostgreSQL en Docker

.cursor/mcp.json

Conexión MCP en este proyecto

.env

Secretos y ajustes (no en Git)

Inicio rápido

1. Dependencias de Python

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

2. Variables de entorno

Copie el ejemplo y pegue el token del bot:

copy .env.example .env

En .env, rellene:

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

3. PostgreSQL mediante Docker

docker compose up -d

Comprobación:

docker compose ps

4. Ejecución del bot

python bot.py

En Telegram, envíe al bot /start, luego /usd, /eur, /cny.

5. MCP en Cursor

En el proyecto está .cursor/mcp.json. En Windows, el servidor también se ha añadido al ~/.cursor/mcp.json del usuario para que aparezca con seguridad en la lista Connected.

  1. Primero cree el venv e instale las dependencias (paso 1 anterior)

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

  3. Abra Settings → MCP

  4. Busque currency-bot-db — el estado debe ser verde, tools: get_recent_requests, get_currency_stats

Si el servidor no está o el estado es rojo: compruebe PostgreSQL (docker compose ps) y que .venv esté instalado.

Dónde obtener el token del bot de Telegram

  1. Abra Telegram y busque @BotFather

  2. Envíe /newbot

  3. Invente un nombre y un username para el bot

  4. BotFather le enviará un token de la forma 123456:ABC...

  5. Péguelo en .env como TELEGRAM_BOT_TOKEN=...

No haga commit del token en Git — el archivo .env ya está en .gitignore.

Consultas de prueba al MCP en Cursor

Después de enviarle varios comandos al bot, escriba en el chat de Cursor:

  • «Muestra las últimas solicitudes de los usuarios»

  • «¿Qué divisas han solicitado los usuarios con más frecuencia?»

  • «Llama a get_recent_requests con limit=5»

  • «Llama a get_currency_stats»

Cursor debe usar las herramientas MCP get_recent_requests y get_currency_stats.

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