MySQL MCP Server について
MySQL MCP Serverは、SQLiteデータベースを管理するPython製サーバーと対話型クライアントです。テーブル確認やSQL実行を自然言語で行いたいデータベース利用者向けです。
主な機能
- 01データベースのテーブル一覧
- 02テーブルスキーマの確認
- 03結果を整形したSQL実行
- 04対話型データベースクライアント
活用シーン
- 01データベース内のテーブル確認
- 02指定テーブルの構造確認
- 03SQLによるデータの取得や変更
MCP 対応
MCP サーバーは、テーブル一覧、スキーマ確認、SQL実行のツールを公開します。付属クライアントはSSE経由でサーバーに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MySQL MCP サーバー
FastMCP で構築された強力なデータベース管理ツールです。SQLite データベースを管理するためのインタラクティブなインターフェースを提供します。このプロジェクトには、データベース操作を簡単に行うためのサーバーコンポーネントとクライアントインターフェースの両方が含まれています。
機能
- データベース内のすべてのテーブルを一覧表示
- 任意のテーブルの詳細なスキーマ情報を取得
- 整形された結果で SQL クエリを実行
- データベース操作のためのインタラクティブなクライアントインターフェース
前提条件
- Python 3.8 以降
- pip(Python パッケージインストーラー)
セットアップ
- リポジトリをクローンします:
git clone [email protected]:sajithamma/mysql-mcp-server.git
cd mysql-mcp-server
- 仮想環境を作成して有効化します:
# Create virtual environment
python3.12 -m venv venv
# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
- 依存関係をインストールします:
pip install -r requirements.txt
- フィクスチャを実行してデータベースを作成します:
python sqlite_fixture.py
プロジェクト構成
このプロジェクトは、次の 2 つの主要なコンポーネントで構成されています。
mcpserver.py- MCP サーバーの実装mcpclient.py- クライアントインターフェース
サーバーコンポーネント
サーバーは次のツールを提供します。
@mcp.tool()
def list_tables() -> List[str]:
"""List all tables in the SQLite database."""
# Implementation details...
@mcp.tool()
def describe_table(table_name: str) -> Dict[str, Any]:
"""Get the schema information for a specific table."""
# Implementation details...
@mcp.tool()
def run_query(query: str) -> Dict[str, Any]:
"""Execute a SQL query and return the results."""
# Implementation details...
クライアントコンポーネント
クライアントはデータベース操作のためのインタラクティブなインターフェースを提供します。
async def main():
server = MCPServerSse(
name="SQLite Database Manager",
params={
"url": "http://localhost:8000/sse",
},
)
# Client implementation...
アプリケーションの実行
- MCP サーバーを起動します:
fastmcp run mcpserver.py:mcp --transport sse --host 127.0.0.1 --port 8000
- 別のターミナルで、クライアントを実行します:
python mcpclient.py
使い方
サーバーとクライアントの両方が実行されたら、自然言語のコマンドを使ってデータベースを操作できます。クライアントでは、次の操作ができます。
- データベース内のすべてのテーブルを一覧表示
- 任意のテーブルの詳細なスキーマ情報を取得
- データを取得または変更する SQL クエリを実行
コマンドの例:
- 「データベース内のすべてのテーブルを表示して」
- 「users テーブルの構造を説明して」
- 「users テーブルのすべてのレコードを選択するクエリを実行して」
環境変数
プロジェクトのルートに .env ファイルを作成し、次の変数を設定します。
# Add any required environment variables here
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。