Skip to main content
Glama
Andrei-Blagov

currency-bot-db

Currency MCP Bot (учебный проект)

Простой пример связки Telegram Bot + публичный API + Docker/PostgreSQL + MCP + Cursor.

Схема

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

Python Bot
   ↓
PostgreSQL
   ↑
   MCP
   ↑
Cursor

Related MCP server: postgres-mcp

Что здесь делает Telegram Bot

Принимает команды /start, /usd, /eur, /cny и отвечает курсом валюты к рублю.

Что здесь делает API

Бот запрашивает актуальный курс у бесплатного публичного API (open.er-api.com) — без ключа и без регистрации.

Что здесь делает Docker

docker compose поднимает PostgreSQL в контейнере. Сам бот запускается локально на Python.

Что здесь делает MCP

MCP-сервер даёт Cursor два инструмента к той же базе:

  1. get_recent_requests — последние запросы пользователей

  2. get_currency_stats — сколько раз спрашивали USD / EUR / CNY

Файлы

Файл

Назначение

bot.py

Telegram-бот (aiogram)

db.py

PostgreSQL без ORM

mcp_server.py

MCP-сервер для Cursor

docker-compose.yml

PostgreSQL в Docker

.cursor/mcp.json

Подключение MCP в этом проекте

.env

Секреты и настройки (не в Git)

Быстрый старт

1. Зависимости Python

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

2. Переменные окружения

Скопируйте пример и вставьте токен бота:

copy .env.example .env

В .env заполните:

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

3. PostgreSQL через Docker

docker compose up -d

Проверка:

docker compose ps

4. Запуск бота

python bot.py

В Telegram отправьте боту /start, затем /usd, /eur, /cny.

5. MCP в Cursor

В проекте есть .cursor/mcp.json. На Windows сервер также добавлен в пользовательский ~/.cursor/mcp.json, чтобы он точно появился в списке Connected.

  1. Сначала создайте venv и установите зависимости (шаг 1 выше)

  2. Ctrl+Shift+PDeveloper: Reload Window

  3. Откройте Settings → MCP

  4. Найдите currency-bot-db — статус должен быть зелёным, tools: get_recent_requests, get_currency_stats

Если сервера нет или статус красный: проверьте PostgreSQL (docker compose ps) и что .venv установлен.

Где взять Telegram Bot Token

  1. Откройте Telegram и найдите @BotFather

  2. Отправьте /newbot

  3. Придумайте имя и username бота

  4. BotFather пришлёт токен вида 123456:ABC...

  5. Вставьте его в .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.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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.
    2,422
    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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying and interacting with PostgreSQL databases using natural language through MCP. Supports configuration via environment variables and Cursor IDE integration.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Andrei-Blagov/MCP_HW'

If you have feedback or need assistance with the MCP directory API, please join our Discord server