Skip to main content
Glama

Многобазовый сервер 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 предоставляет оптимизированное решение, которое значительно сокращает время разработки и сложность.

Related MCP server: MCP Database Server

Функции

  • Поддержка нескольких баз данных — одновременное подключение к нескольким базам данных

  • Доступ к базе данных через Legion Query Runner

  • Поддержка протокола контекста модели (MCP) для помощников на основе искусственного интеллекта

  • Раскройте операции с базой данных как ресурсы, инструменты и подсказки MCP

  • Несколько вариантов развертывания (автономный сервер MCP, интеграция FastAPI)

  • Выполнение запроса и обработка результатов

  • Гибкая настройка с помощью переменных среды, аргументов командной строки или настроек MCP JSON

  • Выбор базы данных пользователем для многобазовых настроек

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

База данных

Код DB_TYPE

PostgreSQL

стр.

Красное смещение

красное смещение

CockroachDB

таракан

MySQL

mysql

RDS MySQL

rds_mysql

Microsoft SQL-сервер

mssql

Большой запрос

bigquery

Oracle БД

оракул

SQLite

sqlite

Мы используем библиотеку 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

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    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
    42
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    This server enables Claude to directly interact with SQLite, SQL Server, PostgreSQL, and MySQL databases through the Model Context Protocol, allowing for query execution, table management, and data export capabilities.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A FastAPI-based server that enables executing SQL queries, managing database connections, and retrieving analytics reports through MCP-integrated endpoints. It allows users to interact with database schemas, performance metrics, and access logs using structured queries.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Model Context Protocol (MCP) server that gives AI assistants a safe, correct data-analyst capability over business metrics - without raw SQL improvisation.

View all related MCP servers

Related MCP Connectors

  • GibsonAI MCP server: manage your databases with natural language

  • MCP server for interacting with the Supabase platform

  • MCP server for managing Prisma Postgres.

View all MCP Connectors

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/TheRaLabs/legion-mcp'

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