DatabaseMCP
MCPデータベースインテリジェンスサーバーアーキテクチャ
システム概要
本システムは、Model Context Protocol (MCP) を使用してデータベース機能をAIエージェントに公開します。
MCPサーバーは、以下の橋渡し役として機能します。
AIアシスタント
データベースメタデータ
ストアドプロシージャ
データベース探索ツール
高レベルアーキテクチャ
AIエージェント / 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 | インターフェース分析 |
このメタデータは、AIエージェントが各ツールの目的を理解するのに役立ちます。
5. 探索ツール (discovery_tools.py)
探索ツールにより、AIエージェントはデータベース構造を探索できます。
実装済みツール:
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サーバーはデータベース構造を自動的に理解できます。
AIインタラクションフローの例
AIエージェントとデータベース間のインタラクション例:
list_databases() ↓ list_tables() ↓ describe_table("interface_stats") ↓ GetLinkCount("NodeA")
これにより、AIは分析プロシージャを実行する前にデータベース構造を探索できます。
拡張性
本システムは、追加のデータベースオブジェクトをサポートするように設計されています。
将来の拡張機能:
list_views list_functions list_triggers search_tables explain_query
モジュール式アーキテクチャにより、新しいツールを簡単に追加できます。
結論
このアーキテクチャは、MCPサーバーがどのようにしてデータベース機能をAIシステムに安全に公開できるかを示しています。
主要な設計原則:
• モジュール式アーキテクチャ • 動的ツール生成 • メタデータ駆動型の探索 • 安全なデータベースアクセス
このアプローチにより、安全でスケーラブルなAIとデータベースの統合が可能になります。
詳細なシステム図は docs/ ディレクトリで確認できます。
This server cannot be installed
Maintenance
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
- 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.6555MIT
- AlicenseNot gradedqualityCmaintenanceMCP 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.601MIT
Related MCP Connectors
GibsonAI MCP server: manage your databases with natural language
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/LeoVegaSys/DatabaseMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server