Skip to main content
Glama

database-mcp

Многобазовый сервер MCP (от Legion AI)

Сервер, который помогает людям получать доступ к данным в базах данных и выполнять запросы с помощью Legion Query Runner с интеграцией Model Context Protocol (MCP) Python SDK.

Начните генерацию здесь

Этот инструмент предоставлен Legion AI . Чтобы использовать полноценный и мощный инструмент аналитики данных AI, посетите сайт. Напишите нам, если вы хотите, чтобы мы поддерживали какую-то одну базу данных.

Конец поколения здесь

Почему стоит выбрать базу данных MCP

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

  • Унифицированный интерфейс для работы с несколькими базами данных : подключайтесь к PostgreSQL, MySQL, SQL Server и другим базам данных через единый согласованный API — нет необходимости изучать различные клиентские библиотеки для каждого типа базы данных.
  • Интеграция с поддержкой искусственного интеллекта : разработан специально для взаимодействия с помощниками на базе искусственного интеллекта через протокол контекста модели (MCP), позволяющий выполнять операции с базами данных на естественном языке.
  • Обнаружение схемы с нулевой конфигурацией : автоматически обнаруживает и предоставляет схемы базы данных без ручной настройки или сопоставления.
  • Инструменты, не зависящие от базы данных : находите таблицы, исследуйте схемы и выполняйте запросы с помощью одного и того же набора инструментов независимо от базовой технологии базы данных.
  • Безопасное управление учетными данными : обеспечивает безопасную обработку данных аутентификации базы данных, отделяя учетные данные от кода приложения.
  • Простое развертывание : работает с современными средами разработки ИИ, такими как LangChain, FastAPI и другими, с минимальной настройкой.
  • Расширяемый дизайн : легко добавляйте пользовательские инструменты и подсказки для улучшения функциональности в конкретных случаях использования.

Независимо от того, создаете ли вы ИИ-агенты, которым необходим доступ к базе данных, или просто хотите унифицированный интерфейс для нескольких баз данных, Database MCP предоставляет оптимизированное решение, которое значительно сокращает время разработки и сложность.

Функции

  • Поддержка нескольких баз данных — одновременное подключение к нескольким базам данных
  • Доступ к базе данных через Legion Query Runner
  • Поддержка протокола контекста модели (MCP) для помощников на основе искусственного интеллекта
  • Раскройте операции с базой данных как ресурсы, инструменты и подсказки MCP
  • Несколько вариантов развертывания (автономный сервер MCP, интеграция FastAPI)
  • Выполнение запроса и обработка результатов
  • Гибкая настройка с помощью переменных среды, аргументов командной строки или настроек MCP JSON
  • Выбор базы данных пользователем для многобазовых настроек

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

База данныхКод DB_TYPE
PostgreSQLстр.
Красное смещениекрасное смещение
CockroachDBтаракан
MySQLmysql
RDS MySQLrds_mysql
Microsoft SQL-серверmssql
Большой запросbigquery
Oracle БДоракул
SQLitesqlite

Мы используем библиотеку Legion Query Runner в качестве коннекторов. Вы можете найти больше информации в их api doc .

Что такое МКП?

Model Context Protocol (MCP) — это спецификация для поддержания контекста в приложениях ИИ. Этот сервер использует MCP Python SDK для:

  • Использовать операции с базами данных в качестве инструментов для помощников на основе искусственного интеллекта
  • Предоставить схемы баз данных и метаданные в качестве ресурсов
  • Генерировать полезные подсказки для операций с базой данных
  • Включить взаимодействие с базами данных с отслеживанием состояния

Установка и настройка

Требуемые параметры

Для конфигурации с одной базой данных:

  • DB_TYPE : Код типа базы данных (см. таблицу выше)
  • DB_CONFIG : строка конфигурации JSON для подключения к базе данных

Для конфигурации с несколькими базами данных:

  • DB_CONFIGS : JSON-массив конфигураций базы данных, каждая из которых содержит:
    • db_type : Код типа базы данных
    • конфигурация : Конфигурация подключения к базе данных
    • описание : понятное для человека описание базы данных

Формат конфигурации зависит от типа базы данных. Подробности конфигурации для конкретной базы данных см. в документации API.

Методы установки

Вариант 1: Использование УФ (рекомендуется)

При использовании uv , не требуется специальной установки. Мы будем использовать uvx для прямого запуска database-mcp .

Пример конфигурации UV (одна база данных):

REPLACE DB_TYPE and DB_CONFIG with your connection info. { "mcpServers": { "database-mcp": { "command": "uvx", "args": [ "database-mcp" ], "env": { "DB_TYPE": "pg", "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}" }, "disabled": true, "autoApprove": [] } } }

Пример конфигурации UV (несколько баз данных):

{ "mcpServers": { "database-mcp": { "command": "uvx", "args": [ "database-mcp" ], "env": { "DB_CONFIGS": "[{\"id\":\"pg_main\",\"db_type\":\"pg\",\"configuration\":{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"postgres\"},\"description\":\"PostgreSQL Database\"},{\"id\":\"mysql_data\",\"db_type\":\"mysql\",\"configuration\":{\"host\":\"localhost\",\"port\":3306,\"user\":\"root\",\"password\":\"pass\",\"database\":\"mysql\"},\"description\":\"MySQL Database\"}]" }, "disabled": true, "autoApprove": [] } } }
Вариант 2: использование PIP

Установка через pip:

pip install database-mcp

Пример конфигурации PIP (одна база данных):

{ "mcpServers": { "database": { "command": "python", "args": [ "-m", "database_mcp", "--repository", "path/to/git/repo" ], "env": { "DB_TYPE": "pg", "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}" } } } }

Запуск сервера

Режим производства

python mcp_server.py

Методы конфигурации

Переменные среды (единая база данных)
export DB_TYPE="pg" # or mysql, postgresql, etc. export DB_CONFIG='{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}' uv run src/database_mcp/mcp_server.py
Переменные среды (несколько баз данных)
export DB_CONFIGS='[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]' uv run src/database_mcp/mcp_server.py

Если вы не укажете идентификатор, система сгенерирует его автоматически на основе типа и описания базы данных:

export DB_CONFIGS='[{"db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]' # IDs will be generated as something like "pg_postgres_0" and "my_mysqldb_1" uv run src/database_mcp/mcp_server.py
Аргументы командной строки (одна база данных)
python mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'
Аргументы командной строки (несколько баз данных)
python mcp_server.py --db-configs '[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]'

Обратите внимание, что вы можете указать собственные идентификаторы для каждой базы данных с помощью поля id или позволить системе сгенерировать их на основе типа и описания базы данных.

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

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

  1. Используйте инструмент list_databases для просмотра доступных баз данных с их идентификаторами.
  2. Используйте get_database_info для просмотра сведений о схеме баз данных.
  3. Используйте find_table для поиска таблицы во всех базах данных.
  4. Предоставьте параметр db_id таким инструментам, как execute_query , get_table_columns и т. д.

Подключения к базе данных управляются внутренне как словарь объектов DbConfig , причем каждая база данных имеет уникальный идентификатор. Информация о схеме представлена в виде списка объектов таблиц, где каждая таблица содержит свое имя и информацию о столбцах.

Подсказка select_database помогает пользователям пройти процесс выбора базы данных.

Представление схемы

Схемы базы данных представлены в виде списка объектов таблиц, где каждая таблица содержит информацию о своих столбцах:

[ { "name": "users", "columns": [ {"name": "id", "type": "integer"}, {"name": "username", "type": "varchar"}, {"name": "email", "type": "varchar"} ] }, { "name": "orders", "columns": [ {"name": "id", "type": "integer"}, {"name": "user_id", "type": "integer"}, {"name": "product_id", "type": "integer"}, {"name": "quantity", "type": "integer"} ] } ]

Такое представление упрощает программный доступ к информации таблиц и столбцов, сохраняя при этом четкую иерархическую структуру.

Раскрытые возможности MCP

Ресурсы

РесурсОписание
resource://schema/{database_id}Получить схемы для одной или всех настроенных баз данных

Инструменты

ИнструментОписание
execute_queryВыполнить SQL-запрос и вернуть результаты в виде таблицы разметки
execute_query_jsonВыполнить SQL-запрос и вернуть результаты в формате JSON
get_table_columnsПолучить имена столбцов для определенной таблицы
get_table_typesПолучить типы столбцов для определенной таблицы
get_query_historyПолучить недавнюю историю запросов
list_databasesСписок всех доступных подключений к базе данных
get_database_infoПолучите подробную информацию о базе данных, включая схему
find_tableНайдите, какая база данных содержит определенную таблицу
describe_tableПолучите подробное описание таблицы, включая названия и типы столбцов.
get_table_sampleПолучить выборку данных из таблицы

Все инструменты, специфичные для баз данных (например, execute_query , get_table_columns и т. д.), требуют параметр db_id для указания, какую базу данных использовать.

Подсказки

БыстрыйОписание
sql_queryСоздать SQL-запрос к базе данных
explain_queryОбъясните, что делает SQL-запрос
optimize_queryОптимизируйте SQL-запрос для повышения производительности
select_databaseПомогите пользователю выбрать, какую базу данных использовать

Разработка

Использование MCP-инспектора

запустите это, чтобы запустить инспектор

npx @modelcontextprotocol/inspector uv run src/database_mcp/mcp_server.py

затем в поле ввода команды задайте что-то вроде

run src/database_mcp/mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'

Тестирование

uv pip install -e ".[dev]" pytest

Издательский

# Clean up build artifacts rm -rf dist/ build/ # Remove any .egg-info directories if they exist find . -name "*.egg-info" -type d -exec rm -rf {} + 2>/dev/null || true # Build the package uv run python -m build # Upload to PyPI uv run python -m twine upload dist/*

Лицензия

Этот репозиторий лицензирован по GPL

-
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.

Сервер, который помогает людям получать доступ к данным в базах данных и запрашивать их с помощью Query Runner с интеграцией Model Context Protocol (MCP) Python SDK. Поддерживается командой Legion AI (thelegionai.com)

Поддержка баз данных, включая PostgreSQL Redshift MySQL Microsoft SQL Server Google API Amazon Web Services (через boto3) CockroachDB SQLite

  1. Начните генерацию здесь
    1. Конец поколения здесь
      1. Почему стоит выбрать базу данных MCP
      2. Функции
      3. Поддерживаемые базы данных
      4. Что такое МКП?
      5. Установка и настройка
      6. Запуск сервера
      7. Поддержка нескольких баз данных
      8. Представление схемы
      9. Раскрытые возможности MCP
      10. Разработка
      11. Лицензия

    Related MCP Servers

    • -
      security
      F
      license
      -
      quality
      A server that enables interaction with PostgreSQL, MySQL, MariaDB, or SQLite databases through Claude Desktop using natural language queries.
      Last updated -
      Python
    • -
      security
      A
      license
      -
      quality
      This is a Model Context Protocol (MCP) server for executing SQL queries against Databricks using the Statement Execution API. It enables AI assistants to directly query Databricks data warehouses, analyze database schemas, and retrieve query results in a structured format
      Last updated -
      9
      Python
      MIT License
      • Linux
      • Apple
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol server that provides Claude access to Turso-hosted LibSQL databases, enabling database table listing, schema retrieval, and SELECT query execution.
      Last updated -
      68
      5
      TypeScript
      MIT License
      • Apple
    • -
      security
      A
      license
      -
      quality
      An MCP server that enables MySQL database integration with Claude. You can execute SQL queries and manage database connections.
      Last updated -
      1
      Python
      MIT License
      • 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/TheRaLabs/legion-mcp'

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