The system exposes database capabilities to AI agents using the Model Context Protocol (MCP).
The MCP server acts as a bridge between:
- AI assistants
- database metadata
- stored procedures
- database exploration tools
AI Agent / MCP Client │ ▼ MCP Server (FastMCP) │ ├── Discovery Tools │ (database exploration) │ ├── Dynamic Procedure Tools │ (generated from database procedures) │ ▼ Intelligence Engine (procedure metadata + categorization) │ ▼ Database Access Layer │ ▼ MySQL Database
The MCP server is created using FastMCP.
Responsibilities:
- initialize the MCP server
- register discovery tools
- register dynamic procedure tools
This module manages all database communication.
Responsibilities:
- database connection management
- stored procedure execution
- metadata retrieval
- enforcing result limits
All database interactions pass through this layer.
This module dynamically converts database stored procedures into MCP tools.
Steps performed:
- load procedure metadata from database
- detect procedure parameters
- generate MCP tool functions dynamically
- register tools with the MCP server
This allows the system to automatically support new procedures added to the database.
The intelligence engine analyzes stored procedures to generate metadata.
Capabilities include:
- procedure categorization
- description generation
- parameter analysis
Example categories:
| Procedure Pattern | Category |
|---|---|
| GetLinkCount | Network Analytics |
| GetWeekData | Time Analytics |
| InterfaceLinkType | Interface Analytics |
This metadata helps AI agents understand the purpose of each tool.
Discovery tools allow AI agents to explore database structure.
Implemented tools:
list_databases list_tables describe_table
These tools rely on database metadata from:
INFORMATION_SCHEMA
Several safeguards are implemented to ensure safe database interaction.
Procedures containing dangerous keywords are blocked.
Examples:
DELETE DROP TRUNCATE UPDATE INSERT ALTER
The system limits result size using a configurable value:
MAX_QUERY_ROWS
This prevents large data extraction.
The MCP server enforces request rate limits to prevent excessive usage.
The database user used by the MCP server should only have:
SELECT EXECUTE
permissions.
This prevents modification of production data.
The system retrieves metadata from MySQL system tables.
Examples:
INFORMATION_SCHEMA.ROUTINES INFORMATION_SCHEMA.PARAMETERS INFORMATION_SCHEMA.TABLES INFORMATION_SCHEMA.COLUMNS
These tables allow the MCP server to automatically understand database structure.
Example interaction between an AI agent and the database:
list_databases() ↓ list_tables() ↓ describe_table("interface_stats") ↓ GetLinkCount("NodeA")
This allows the AI to explore database structure before executing analytical procedures.
The system is designed to support additional database objects.
Future extensions may include:
list_views list_functions list_triggers search_tables explain_query
The modular architecture allows new tools to be added easily.
This architecture demonstrates how MCP servers can safely expose database capabilities to AI systems.
Key design principles:
• modular architecture • dynamic tool generation • metadata driven discovery • secure database access
This approach enables safe and scalable AI-database integration.
Detailed system diagrams are available in the docs/ directory.