DatabaseMCP
Архитектура сервера интеллектуальной работы с базами данных 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.
Выполняемые шаги:
загрузка метаданных процедур из базы данных
обнаружение параметров процедур
динамическая генерация функций инструментов MCP
регистрация инструментов в 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/.
This server cannot be deployed
Maintenance
Related MCP Connectors
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA 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-
- AlicenseNot gradedqualityDmaintenanceA MySQL MCP server for secure database interaction, enabling schema inspection, query execution, and RBAC via AI coding assistants.1,352 npm5MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that connects AI agents to MySQL databases for schema exploration, data querying, and SQL execution via natural language.2MIT
- AlicenseNot gradedqualityDmaintenanceA 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 npmMIT