currency-bot-db
Currency MCP Bot (учебный проект)
Простой пример связки Telegram Bot + публичный API + Docker/PostgreSQL + MCP + Cursor.
Схема
Telegram
↓
Python Bot
↓
API курса валют
Python Bot
↓
PostgreSQL
↑
MCP
↑
CursorRelated MCP server: postgres-mcp
Что здесь делает Telegram Bot
Принимает команды /start, /usd, /eur, /cny и отвечает курсом валюты к рублю.
Что здесь делает API
Бот запрашивает актуальный курс у бесплатного публичного API (open.er-api.com) — без ключа и без регистрации.
Что здесь делает Docker
docker compose поднимает PostgreSQL в контейнере. Сам бот запускается локально на Python.
Что здесь делает MCP
MCP-сервер даёт Cursor два инструмента к той же базе:
get_recent_requests— последние запросы пользователейget_currency_stats— сколько раз спрашивали USD / EUR / CNY
Файлы
Файл | Назначение |
| Telegram-бот (aiogram) |
| PostgreSQL без ORM |
| MCP-сервер для Cursor |
| PostgreSQL в Docker |
| Подключение MCP в этом проекте |
| Секреты и настройки (не в Git) |
Быстрый старт
1. Зависимости Python
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt2. Переменные окружения
Скопируйте пример и вставьте токен бота:
copy .env.example .envВ .env заполните:
TELEGRAM_BOT_TOKEN=ваш_токен_от_BotFather3. PostgreSQL через Docker
docker compose up -dПроверка:
docker compose ps4. Запуск бота
python bot.pyВ Telegram отправьте боту /start, затем /usd, /eur, /cny.
5. MCP в Cursor
В проекте есть .cursor/mcp.json. На Windows сервер также добавлен в пользовательский ~/.cursor/mcp.json, чтобы он точно появился в списке Connected.
Сначала создайте venv и установите зависимости (шаг 1 выше)
Ctrl+Shift+P→ Developer: Reload WindowОткройте Settings → MCP
Найдите
currency-bot-db— статус должен быть зелёным, tools:get_recent_requests,get_currency_stats
Если сервера нет или статус красный: проверьте PostgreSQL (docker compose ps) и что .venv установлен.
Где взять Telegram Bot Token
Откройте Telegram и найдите @BotFather
Отправьте
/newbotПридумайте имя и username бота
BotFather пришлёт токен вида
123456:ABC...Вставьте его в
.envкакTELEGRAM_BOT_TOKEN=...
Токен не коммитьте в Git — файл .env уже в .gitignore.
Тестовые запросы к MCP в Cursor
После нескольких команд боту напишите в чат Cursor:
«Покажи последние запросы пользователей»
«Какие валюты пользователи запрашивали чаще всего?»
«Вызови get_recent_requests с limit=5»
«Вызови get_currency_stats»
Cursor должен использовать MCP-инструменты get_recent_requests и get_currency_stats.
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