Skip to main content
Glama

MCP-Server

MCP-Server — это небольшое рабочее пространство на Python, построенное на базе сервера FastMCP. Основной пакет находится в my-mcp/ и предоставляет сервер под названием DataTools, который объединяет локальные данные о погоде из SQLite с инструментами для работы с криптовалютами в реальном времени от CoinGecko.

Что включено

  • Инструменты MCP для запроса показаний погоды и расчета средних значений из локальной базы данных

  • Инструменты MCP для получения цен на криптовалюты и списка топовых монет от CoinGecko

  • Динамический ресурс MCP по адресу weather://latest

  • Промпт для сводки погоды для рабочих процессов LLM на стороне клиента

  • Постоянное хранилище SQLite с моделями SQLAlchemy и миграциями Alembic

  • Поддержка Docker для запуска сервера в контейнере

Структура репозитория

.
├── Dockerfile
├── pyproject.toml
├── uv.lock
└── my-mcp/
    ├── alembic.ini
    ├── migrations/
    ├── data/
    ├── pyproject.toml
    ├── README.md
    └── src/my_mcp/
        ├── server.py
        └── db/

Требования

  • Python 3.14

  • uv

Настройка

Установите зависимости из корня рабочего пространства:

uv sync

Сервер использует переменные окружения из .env, если они доступны. Наиболее важные из них:

  • HOST — адрес привязки для MCP-сервера, например 0.0.0.0

  • PORT — порт SSE, например 8080

  • DB_PATH — путь к базе данных SQLite, по умолчанию data/app.db

База данных

Схема базы данных управляется с помощью Alembic и хранится в SQLite.

Запустите миграции из каталога пакета:

cd my-mcp
uv run alembic upgrade head

Если вам нужны примеры данных, вы можете заполнить базу данных с помощью:

cd my-mcp
uv run python -m my_mcp.db.seed

Локальный запуск

Запустите сервер из корня репозитория:

uv run --package my-mcp my-mcp

По умолчанию сервер работает через SSE и прослушивает хост и порт, определенные в HOST и PORT.

Docker

Соберите образ:

docker build -t mcp-server .

Запустите его:

docker run --rm -p 8080:8080 -e HOST=0.0.0.0 -e PORT=8080 -e DB_PATH=data/app.db mcp-server

Инструменты и ресурсы MCP

Инструменты

  • readings_for_city(city, hours=6) — возвращает последние показания погоды для города

  • average_temp(city, hours=6) — возвращает среднюю температуру для города

  • get_crypto_price(coin_id="bitcoin") — возвращает цену, рыночную капитализацию и изменение за 24 часа для монеты

  • get_top_coins(limit=5) — возвращает топовые криптовалюты по рыночной капитализации

Ресурс

  • weather://latest — возвращает самое последнее показание погоды в базе данных

Промпт

  • weather_summary(city, hours=6) — подготавливает краткий промпт со сводкой погоды для клиента или LLM

Конфигурация клиента

Для клиентов на базе SSE укажите URL работающего сервера, например:

http://localhost:8080/sse

Для Claude Desktop или аналогичных инструментов используйте конфигурацию на основе команд, которая запускает uv run --package my-mcp my-mcp из этого репозитория.

Примечания

  • Инструменты для работы с криптовалютами вызывают публичный API CoinGecko, поэтому требуется доступ в интернет.

  • Файл базы данных создается автоматически, если он не существует.

  • Alembic уже настроен на использование sqlite:///./data/app.db внутри my-mcp/alembic.ini.

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/ovezthaking/MCP-Server'

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