Skip to main content
Glama

Архитектура сервера интеллектуальной работы с базами данных MCP

Обзор системы

Система предоставляет ИИ-агентам возможности работы с базами данных с использованием протокола контекста модели (MCP).

MCP-сервер выступает в качестве моста между:

  • ИИ-ассистентами

  • метаданными базы данных

  • хранимыми процедурами

  • инструментами исследования базы данных

Архитектура высокого уровня

ИИ-агент / MCP-клиент │ ▼ MCP-сервер (FastMCP) │ ├── Инструменты обнаружения │ (исследование базы данных) │ ├── Инструменты динамических процедур │ (генерируются из процедур базы данных) │ ▼ Интеллектуальный движок (метаданные процедур + категоризация) │ ▼ Уровень доступа к базе данных │ ▼ База данных MySQL

Основные компоненты

Related MCP server: MySQL MCP Server

1. MCP-сервер (main.py)

MCP-сервер создан с использованием FastMCP.

Обязанности:

  • инициализация MCP-сервера

  • регистрация инструментов обнаружения

  • регистрация инструментов динамических процедур

2. Уровень доступа к базе данных (db.py)

Этот модуль управляет всем взаимодействием с базой данных.

Обязанности:

  • управление подключением к базе данных

  • выполнение хранимых процедур

  • получение метаданных

  • применение ограничений на количество результатов

Все взаимодействия с базой данных проходят через этот уровень.

3. Генератор инструментов (tool_generator.py)

Этот модуль динамически преобразует хранимые процедуры базы данных в инструменты MCP.

Выполняемые шаги:

  1. загрузка метаданных процедур из базы данных

  2. обнаружение параметров процедур

  3. динамическая генерация функций инструментов MCP

  4. регистрация инструментов в MCP-сервере

Это позволяет системе автоматически поддерживать новые процедуры, добавленные в базу данных.

4. Интеллектуальный движок (intelligence_engine.py)

Интеллектуальный движок анализирует хранимые процедуры для генерации метаданных.

Возможности включают:

  • категоризацию процедур

  • генерацию описаний

  • анализ параметров

Примеры категорий:

Шаблон процедуры

Категория

GetLinkCount

Сетевая аналитика

GetWeekData

Временная аналитика

InterfaceLinkType

Аналитика интерфейсов

Эти метаданные помогают ИИ-агентам понять назначение каждого инструмента.

5. Инструменты обнаружения (discovery_tools.py)

Инструменты обнаружения позволяют ИИ-агентам исследовать структуру базы данных.

Реализованные инструменты:

list_databases list_tables describe_table

Эти инструменты опираются на метаданные базы данных из:

INFORMATION_SCHEMA

Архитектура безопасности

Реализовано несколько мер защиты для обеспечения безопасного взаимодействия с базой данных.

Ограничения по ключевым словам

Процедуры, содержащие опасные ключевые слова, блокируются.

Примеры:

DELETE DROP TRUNCATE UPDATE INSERT ALTER

Ограничения результатов запроса

Система ограничивает размер результата с помощью настраиваемого значения:

MAX_QUERY_ROWS

Это предотвращает извлечение больших объемов данных.

Ограничение частоты запросов

MCP-сервер применяет ограничения частоты запросов для предотвращения чрезмерного использования.

Ограниченный пользователь базы данных

Пользователь базы данных, используемый MCP-сервером, должен иметь только права:

SELECT EXECUTE

Это предотвращает изменение производственных данных.

Источники метаданных

Система извлекает метаданные из системных таблиц MySQL.

Примеры:

INFORMATION_SCHEMA.ROUTINES INFORMATION_SCHEMA.PARAMETERS INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.COLUMNS

Эти таблицы позволяют MCP-серверу автоматически понимать структуру базы данных.

Пример потока взаимодействия с ИИ

Пример взаимодействия между ИИ-агентом и базой данных:

list_databases() ↓ list_tables() ↓ describe_table("interface_stats") ↓ GetLinkCount("NodeA")

Это позволяет ИИ исследовать структуру базы данных перед выполнением аналитических процедур.

Расширяемость

Система спроектирована для поддержки дополнительных объектов базы данных.

Будущие расширения могут включать:

list_views list_functions list_triggers search_tables explain_query

Модульная архитектура позволяет легко добавлять новые инструменты.

Заключение

Эта архитектура демонстрирует, как MCP-серверы могут безопасно предоставлять возможности баз данных для ИИ-систем.

Ключевые принципы проектирования:

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

Этот подход обеспечивает безопасную и масштабируемую интеграцию ИИ и баз данных.

Подробные системные диаграммы доступны в каталоге docs/.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A high-performance MCP server that enables AI assistants to safely interact with MySQL databases through secure CRUD operations, schema inspection, and parameterized queries with built-in SQL injection prevention.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A MySQL MCP server for secure database interaction, enabling schema inspection, query execution, and RBAC via AI coding assistants.
    1,352 npm
    5
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that connects AI agents to MySQL databases for schema exploration, data querying, and SQL execution via natural language.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A production-ready MCP server for MySQL database integration with AI agents, enabling database exploration, CRUD operations, schema management, and performance monitoring through natural language.
    744 npm
    MIT