mcpField
M
MySQL MCP Server

MySQL MCP Server

ローカル
github.com/sajithammaデータベース177 週間前に更新

MySQL MCP Server について

MySQL MCP Serverは、SQLiteデータベースを管理するPython製サーバーと対話型クライアントです。テーブル確認やSQL実行を自然言語で行いたいデータベース利用者向けです。

主な機能

  1. 01データベースのテーブル一覧
  2. 02テーブルスキーマの確認
  3. 03結果を整形したSQL実行
  4. 04対話型データベースクライアント

活用シーン

  1. 01データベース内のテーブル確認
  2. 02指定テーブルの構造確認
  3. 03SQLによるデータの取得や変更

MCP 対応

MCP サーバーは、テーブル一覧、スキーマ確認、SQL実行のツールを公開します。付属クライアントはSSE経由でサーバーに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MySQL MCP サーバー

FastMCP で構築された強力なデータベース管理ツールです。SQLite データベースを管理するためのインタラクティブなインターフェースを提供します。このプロジェクトには、データベース操作を簡単に行うためのサーバーコンポーネントとクライアントインターフェースの両方が含まれています。

機能

  • データベース内のすべてのテーブルを一覧表示
  • 任意のテーブルの詳細なスキーマ情報を取得
  • 整形された結果で SQL クエリを実行
  • データベース操作のためのインタラクティブなクライアントインターフェース

前提条件

  • Python 3.8 以降
  • pip(Python パッケージインストーラー)

セットアップ

  1. リポジトリをクローンします:
git clone [email protected]:sajithamma/mysql-mcp-server.git
cd mysql-mcp-server
  1. 仮想環境を作成して有効化します:
# Create virtual environment
python3.12 -m venv venv

# Activate virtual environment
# On Windows:
venv\Scripts\activate
# On macOS/Linux:
source venv/bin/activate
  1. 依存関係をインストールします:
pip install -r requirements.txt
  1. フィクスチャを実行してデータベースを作成します:
python sqlite_fixture.py

プロジェクト構成

このプロジェクトは、次の 2 つの主要なコンポーネントで構成されています。

  1. mcpserver.py - MCP サーバーの実装
  2. 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...

アプリケーションの実行

  1. MCP サーバーを起動します:
fastmcp run mcpserver.py:mcp --transport sse --host 127.0.0.1 --port 8000
  1. 別のターミナルで、クライアントを実行します:
python mcpclient.py

使い方

サーバーとクライアントの両方が実行されたら、自然言語のコマンドを使ってデータベースを操作できます。クライアントでは、次の操作ができます。

  1. データベース内のすべてのテーブルを一覧表示
  2. 任意のテーブルの詳細なスキーマ情報を取得
  3. データを取得または変更する SQL クエリを実行

コマンドの例:

  • 「データベース内のすべてのテーブルを表示して」
  • 「users テーブルの構造を説明して」
  • 「users テーブルのすべてのレコードを選択するクエリを実行して」

環境変数

プロジェクトのルートに .env ファイルを作成し、次の変数を設定します。

# Add any required environment variables here

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。