mcpField
M
MySQL MCP Server for Smithery (Python)

MySQL MCP Server for Smithery (Python)

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

MySQL MCP Server for Smithery (Python) について

Smithery 向けの Python 製 MySQL コネクターで、MCP 経由でデータベース構造の確認やクエリ実行を行うユーザー向けです。SQL は読み取り専用に制限され、複数ステートメントのクエリは拒否されます。

主な機能

  1. 01MySQL データベースへの接続
  2. 02データベースとテーブルの一覧表示
  3. 03テーブルスキーマの確認
  4. 04読み取り専用 SQL クエリの実行
  5. 05書き込み操作の検証と拒否

活用シーン

  1. 01アクセス可能なデータベースとテーブルの閲覧
  2. 02テーブルのカラム構造の確認
  3. 03SELECT や EXPLAIN クエリの実行

MCP 対応

MCP サーバーは、MySQL 接続、データベースとテーブルの一覧表示、スキーマ確認、読み取り専用クエリ実行のツールをクライアントに提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Smithery 用 MySQL MCP サーバー(Python)

Python で構築された Smithery 用の MySQL コネクターです。Smithery から MySQL データベースに直接接続できます。

機能

  • MySQL データベースへの接続:MySQL データベースを設定して接続します
  • データベースの一覧表示:アクセス可能なすべてのデータベースを表示します
  • テーブルの一覧表示:指定したデータベース内のすべてのテーブルを表示します
  • テーブルの説明:テーブルの詳細なスキーマ情報を取得します
  • クエリの実行:読み取り専用の SQL クエリ(SELECT、SHOW、DESCRIBE、EXPLAIN)を実行します
  • セキュリティ:組み込みのクエリ検証により、読み取り専用の操作のみが許可されます

Smithery へのインストール

Smithery で MCP サーバーを追加すると、MySQL データベースの認証情報を入力できます。

  • ホスト:データベースサーバーのホスト名(デフォルト:localhost)
  • ポート:データベースサーバーのポート(デフォルト:3306)
  • ユーザー:MySQL のユーザー名
  • パスワード:MySQL のパスワード
  • データベース:(任意)接続する特定のデータベース

手動でのインストール

  1. このリポジトリをクローンします:
git clone https://github.com/aqaralife/mysql-mcp-python-server.git
  1. 依存関係をインストールします:
cd mysql-mcp-python-server
npm install
pip install -r requirements.txt
  1. スクリプトを実行可能にします(Unix/Linux/Mac):
chmod +x mcp_server.py run.js

手動での使用方法

サーバーを起動するには:

node run.js

または、Python スクリプトを直接実行します:

python mcp_server.py

利用可能なツール

connect_db

MySQL データベースへの接続を確立します。

パラメーター:

  • host:データベースサーバーのホスト名
  • port:データベースサーバーのポート
  • user:データベースのユーザー名
  • password:データベースのパスワード
  • database:(任意)データベース名
list_databases

アクセス可能なすべてのデータベースを一覧表示します。

パラメーター: なし

list_tables

データベース内のすべてのテーブルを一覧表示します。

パラメーター:

  • database:(任意)データベース名。接続済みの場合はデフォルトのデータベースが使用されます
describe_table

テーブルのスキーマを表示します。

パラメーター:

  • table:テーブル名
  • database:(任意)データベース名。接続済みの場合はデフォルトのデータベースが使用されます
execute_query

読み取り専用の SQL クエリを実行します。

パラメーター:

  • query:SQL クエリ(SELECT、SHOW、DESCRIBE、EXPLAIN のみ許可されます)
  • database:(任意)データベース名。接続済みの場合はデフォルトのデータベースが使用されます

セキュリティ

サーバーには、読み取り専用の操作のみが許可されるよう、組み込みの検証機能が含まれています。

  • SELECT、SHOW、DESCRIBE、EXPLAIN のクエリのみが許可されます
  • INSERT、UPDATE、DELETE、DROP などの SQL コマンドを含むクエリは自動的に拒否されます
  • 1 つのクエリ内での複数のステートメント(セミコロンで区切られたもの)は許可されません

トラブルシューティング

問題が発生した場合:

  1. Python が見つからない:サーバーは python3 または python を自動的に検出します。どちらも動作しない場合は、Python がインストールされており、PATH に設定されていることを確認してください。

  2. モジュールが見つからない:サーバーは必要なパッケージの自動インストールを試みます。失敗する場合は、次のコマンドを手動で実行してください:

    pip install mysql-connector-python>=8.0.0
    
  3. 接続の問題:データベースの認証情報を確認し、MySQL サーバーが起動していてアクセス可能であることを確認してください。

  4. Smithery の接続の問題:Smithery の設定にデータベースの認証情報が正しく入力されていることを確認してください。

  5. サーバーが応答しない:Smithery のコンソールでログ出力を確認し、エラーがないか調べてください。

ライセンス

MIT

お問い合わせ

ご質問がある場合は、issue を作成してください。

コメント

MCP は初めてですか?

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

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