Skip to main content
Glama

Multi Database MCP Server

MIT License
164
  • Linux
  • Apple

MCP-сервер с несколькими базами данных

Обзор

DB MCP Server предоставляет стандартизированный способ для моделей ИИ одновременно взаимодействовать с несколькими базами данных. Созданный на основе фреймворка FreePeak/cortex , он позволяет помощникам ИИ выполнять SQL-запросы, управлять транзакциями, исследовать схемы и анализировать производительность в различных системах баз данных через унифицированный интерфейс.

Основные концепции

Поддержка нескольких баз данных

В отличие от традиционных коннекторов баз данных, DB MCP Server может подключаться и взаимодействовать с несколькими базами данных одновременно:

{ "connections": [ { "id": "mysql1", "type": "mysql", "host": "localhost", "port": 3306, "name": "db1", "user": "user1", "password": "password1" }, { "id": "postgres1", "type": "postgres", "host": "localhost", "port": 5432, "name": "db2", "user": "user2", "password": "password2" } ] }

Динамическая генерация инструментов

Для каждой подключенной базы данных сервер автоматически генерирует специализированные инструменты:

// For a database with ID "mysql1", these tools are generated: query_mysql1 // Execute SQL queries execute_mysql1 // Run data modification statements transaction_mysql1 // Manage transactions schema_mysql1 // Explore database schema performance_mysql1 // Analyze query performance

Чистая Архитектура

Сервер следует принципам чистой архитектуры и состоит из следующих слоев:

  1. Уровень домена : основные бизнес-сущности и интерфейсы
  2. Уровень репозитория : Реализации доступа к данным
  3. Уровень варианта использования : бизнес-логика приложения
  4. Уровень доставки : Внешние интерфейсы (инструменты MCP)

Функции

  • Одновременная поддержка нескольких баз данных : одновременное подключение к нескольким базам данных MySQL и PostgreSQL
  • Генерация инструментов для конкретной базы данных : автоматическое создание специализированных инструментов для каждой подключенной базы данных.
  • Чистая архитектура : модульная конструкция с четким разделением задач
  • Совместимость с OpenAI Agents SDK : полная совместимость для бесшовной интеграции помощника ИИ
  • Инструменты динамической базы данных : выполнение запросов, запуск операторов, управление транзакциями, исследование схем, анализ производительности.
  • Унифицированный интерфейс : единообразные шаблоны взаимодействия между различными типами баз данных
  • Управление соединениями : простая настройка для нескольких соединений с базой данных.

Поддерживаемые базы данных

База данныхСтатусФункции
MySQL✅ Полная поддержкаЗапросы, транзакции, анализ схемы, анализ производительности
PostgreSQL✅ Полная поддержка (v9.6-17)Запросы, транзакции, анализ схемы, анализ производительности
TimescaleDB✅ Полная поддержкаГипертаблицы, запросы временных рядов, непрерывные агрегаты, сжатие, политики хранения

Варианты развертывания

Сервер DB MCP можно развернуть несколькими способами в зависимости от различных сред и потребностей интеграции:

Развертывание Docker

# Pull the latest image docker pull freepeak/db-mcp-server:latest # Run with mounted config file docker run -p 9092:9092 \ -v $(pwd)/config.json:/app/my-config.json \ -e TRANSPORT_MODE=sse \ -e CONFIG_PATH=/app/my-config.json \ freepeak/db-mcp-server

Примечание : Монтируйте в /app/my-config.json , так как в контейнере есть файл по умолчанию в /app/config.json .

Режим STDIO (интеграция с IDE)

# Run the server in STDIO mode ./bin/server -t stdio -c config.json

Для интеграции Cursor IDE добавьте в .cursor/mcp.json :

{ "mcpServers": { "stdio-db-mcp-server": { "command": "/path/to/db-mcp-server/server", "args": ["-t", "stdio", "-c", "/path/to/config.json"] } } }

Режим SSE (события, отправленные сервером)

# Default configuration (localhost:9092) ./bin/server -t sse -c config.json # Custom host and port ./bin/server -t sse -host 0.0.0.0 -port 8080 -c config.json

Конечная точка клиентского подключения: http://localhost:9092/sse

Установка исходного кода

# Clone the repository git clone https://github.com/FreePeak/db-mcp-server.git cd db-mcp-server # Build the server make build # Run the server ./bin/server -t sse -c config.json

Конфигурация

Файл конфигурации базы данных

Создайте файл config.json с подключениями к вашей базе данных:

{ "connections": [ { "id": "mysql1", "type": "mysql", "host": "mysql1", "port": 3306, "name": "db1", "user": "user1", "password": "password1", "query_timeout": 60, "max_open_conns": 20, "max_idle_conns": 5, "conn_max_lifetime_seconds": 300, "conn_max_idle_time_seconds": 60 }, { "id": "postgres1", "type": "postgres", "host": "postgres1", "port": 5432, "name": "db1", "user": "user1", "password": "password1" } ] }

Параметры командной строки

# Basic syntax ./bin/server -t <transport> -c <config-file> # SSE transport options ./bin/server -t sse -host <hostname> -port <port> -c <config-file> # Inline database configuration ./bin/server -t stdio -db-config '{"connections":[...]}' # Environment variable configuration export DB_CONFIG='{"connections":[...]}' ./bin/server -t stdio

Доступные инструменты

Для каждой подключенной базы данных DB MCP Server автоматически генерирует следующие специализированные инструменты:

Инструменты запроса

Название инструментаОписание
query_<db_id>Выполнять запросы SELECT и получать результаты в виде табличного набора данных
execute_<db_id>Выполнение операторов манипулирования данными (INSERT, UPDATE, DELETE)
transaction_<db_id>Начало, фиксация и откат транзакций

Инструменты схемы

Название инструментаОписание
schema_<db_id>Получите информацию о таблицах, столбцах, индексах и внешних ключах
generate_schema_<db_id>Генерация SQL или кода из схемы базы данных

Инструменты производительности

Название инструментаОписание
performance_<db_id>Анализируйте производительность запросов и получайте предложения по оптимизации

Инструменты TimescaleDB

Для баз данных PostgreSQL с расширением TimescaleDB доступны следующие дополнительные специализированные инструменты:

Название инструментаОписание
timescaledb_<db_id>Выполнение общих операций TimescaleDB
create_hypertable_<db_id>Преобразовать стандартную таблицу в гипертаблицу TimescaleDB
list_hypertables_<db_id>Список всех гипертаблиц в базе данных
time_series_query_<db_id>Выполнение оптимизированных запросов временных рядов с сегментированием
time_series_analyze_<db_id>Анализировать закономерности временных рядов данных
continuous_aggregate_<db_id>Создавайте материализованные представления, которые автоматически обновляются
refresh_continuous_aggregate_<db_id>Обновлять непрерывные агрегаты вручную

Подробную документацию по инструментам TimescaleDB см. в TIMESCALEDB_TOOLS.md .

Примеры

Запрос к нескольким базам данных

-- Query the first database query_mysql1("SELECT * FROM users LIMIT 10") -- Query the second database in the same context query_postgres1("SELECT * FROM products WHERE price > 100")

Управление транзакциями

-- Start a transaction transaction_mysql1("BEGIN") -- Execute statements within the transaction execute_mysql1("INSERT INTO orders (customer_id, product_id) VALUES (1, 2)") execute_mysql1("UPDATE inventory SET stock = stock - 1 WHERE product_id = 2") -- Commit or rollback transaction_mysql1("COMMIT") -- OR transaction_mysql1("ROLLBACK")

Изучение схемы базы данных

-- Get all tables in the database schema_mysql1("tables") -- Get columns for a specific table schema_mysql1("columns", "users") -- Get constraints schema_mysql1("constraints", "orders")

Поиск неисправностей

Распространенные проблемы

  • Ошибки подключения : проверьте сетевое подключение и учетные данные базы данных.
  • Ошибки прав доступа : убедитесь, что у пользователя базы данных есть соответствующие права доступа.
  • Проблемы с тайм-аутом : проверьте настройку query_timeout в вашей конфигурации.

Журналы

Включите подробное ведение журнала для устранения неполадок:

./bin/server -t sse -c config.json -v

Внося вклад

Мы приветствуем вклад в проект DB MCP Server! Чтобы внести вклад:

  1. Форк репозитория
  2. Создайте ветку функций ( git checkout -b feature/amazing-feature )
  3. Зафиксируйте свои изменения ( git commit -m 'feat: add amazing feature' )
  4. Отправить в ветку ( git push origin feature/amazing-feature )
  5. Открыть запрос на извлечение

Подробные инструкции см. в нашем файле CONTRIBUTING.md .

Лицензия

Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Multi DB MCP Server — это высокопроизводительная реализация Database Model Context Protocol, разработанная для революционного изменения взаимодействия агентов ИИ с базами данных. В настоящее время поддерживает базы данных MySQL и PostgreSQL.

  1. Обзор
    1. Основные концепции
      1. Поддержка нескольких баз данных
      2. Динамическая генерация инструментов
      3. Чистая Архитектура
    2. Функции
      1. Поддерживаемые базы данных
        1. Варианты развертывания
          1. Развертывание Docker
          2. Режим STDIO (интеграция с IDE)
          3. Режим SSE (события, отправленные сервером)
          4. Установка исходного кода
        2. Конфигурация
          1. Файл конфигурации базы данных
          2. Параметры командной строки
        3. Доступные инструменты
          1. Инструменты запроса
          2. Инструменты схемы
          3. Инструменты производительности
          4. Инструменты TimescaleDB
        4. Примеры
          1. Запрос к нескольким базам данных
          2. Управление транзакциями
          3. Изучение схемы базы данных
        5. Поиск неисправностей
          1. Распространенные проблемы
          2. Журналы
        6. Внося вклад
          1. Лицензия

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              A Model Context Protocol (MCP) server implementation that provides database interaction and business intelligence capabilities through SQLite. This server enables running SQL queries, analyzing business data, and automatically generating business insight memos.
              Last updated -
              6
              50,196
              Python
              MIT License
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that wraps the dbt CLI tool, enabling AI coding agents to interact with dbt projects through standardized MCP tools. Developed by Mammoth Growth.
              Last updated -
              8
              Python
              MIT License
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
              Last updated -
              TypeScript
              MIT License
              • Apple
              • Linux
            • A
              security
              F
              license
              A
              quality
              A Model Context Protocol server that allows AI agents to execute SQL queries against a MySQL database, supporting operations like reading data, creating tables, inserting, updating, and deleting records.
              Last updated -
              6
              419
              1
              JavaScript
              • Apple

            View all related MCP servers

            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/FreePeak/db-mcp-server'

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