プロジェクト简介
MySQL MCP Serverは、Model Context Protocol(MCP)に準拠したアプリケーションです。ローカル環境のMySQLデータベースに接続し、大規模言語モデル(LLM)がデータベース操作や情報取得をツール経由で行えるようにします。ポートを開放せず、標準入出力を介して安全に通信します。
主要功能点
- LLMからの要求を受けてSQLクエリを実行します。
- データベース一覧、テーブル一覧、テーブル構造などの情報を取得します。
- 複数のMySQL接続設定をプロファイルとして保存・管理し、簡単に切り替えることができます。
- MCPプロトコルに準拠しており、Stdio通信方式でLLMクライアントと連携します。
インストール手順
- Node.js (v20.0.0以上) と MySQL (v5.7以上) または MariaDB が必要です。
- 特別なインストール作業は不要です。Node.jsがインストールされていれば、'npx' コマンドを使用して直接実行できます。
サーバー配置
MCPクライアントからこのサーバーを利用するには、クライアントの設定ファイルに、MCPサーバーの起動コマンドと引数を記述する必要があります。MCPクライアントは、このコマンドを実行してサーバープロセスを起動し、標準入出力(Stdio)で通信を行います。
MCPクライアント向けの設定例(実際のファイル形式はクライアントにより異なります):
{ "name": "mysql-mcp-server", "command": "npx", "args": [ "-y", "https://github.com/yuki777/mysql-mcp-server", "--host", "<your_mysql_host>", // 接続先MySQLサーバーのホスト名またはIPアドレス (例: 127.0.0.1) "--port", "<your_mysql_port>", // 接続先MySQLサーバーのポート番号 (例: 3306) "--user", "<your_mysql_user>", // MySQL接続に使用するユーザー名 (例: root) "--password", "<your_mysql_password>", // MySQLユーザーのパスワード (任意) "--database", "<your_mysql_database>", // 起動時にデフォルトで接続するデータベース名 (任意) "--auto-connect", // 起動時に上記接続情報で自動的にデータベースに接続する場合に指定 "--debug", // サーバーのデバッグ情報を有効にする場合 (任意) "--query-timeout", "30000", // SQLクエリのタイムアウト時間 (ミリ秒単位, 任意) "--max-results", "1000" // SQLクエリの最大結果行数 (任意) ] }
注: 上記はMCPクライアント側の設定例であり、そのまま実行するコードではありません。コマンド ('command') と引数 ('args') の部分を、お使いのMCPクライアントの設定に合わせて記述してください。MCPサーバー起動後、データベースへの接続は 'connect_database' ツールを使用してLLMから制御することも可能です。その場合は、起動時の '--host', '--port', '--user', '--password', '--database', '--auto-connect' オプションは省略または最小限の指定で起動し、ツールで詳細な接続情報を渡します。詳細はクライアントのドキュメントを参照してください。
基本使用方法
- 上記「サーバー配置」で示したような起動コマンドと引数を、お使いのMCPクライアントの設定ファイルに記述します。
- MCPクライアントを起動します。クライアントがMCPサーバープロセスを自動的に起動し、標準入出力チャネルを介して接続を確立します。
- LLMに対して、利用可能なツール(例: 'execute_query' によるSQL実行、'get_tables' によるテーブル情報取得、'connect_database' によるデータベース接続など)を使用してデータベース操作を行うよう指示します。
- クライアントがLLMからのツール呼び出し要求をMCP形式に変換し、サーバーに送信します。
- サーバーは要求されたツールを実行し、その結果をクライアント経由でLLMに返します。
信息
分类
数据库与文件