@f4ww4z/mcp-mysql-server について
@f4ww4z/mcp-mysql-server は MySQL データベース操作のための MCP サーバーで、AI モデルが共通のインターフェースを通じて MySQL を扱えるようにします。データの検索やテーブル構造の確認をアシスタントに任せたい利用者に向いています。プリペアドステートメントのパラメータに対応しています。
主な機能
- 01自動接続管理を伴う MySQL への接続
- 02プリペアドステートメントパラメータ付き SELECT クエリの実行
- 03INSERT、UPDATE、DELETE 文の実行
- 04接続先データベースのテーブル一覧の取得
- 05指定テーブルの構造の確認
活用シーン
- 01AI アシスタントによる MySQL データベースのデータ検索
- 02SQL 作成前にアシスタントがテーブル構造を確認
MCP 対応
本プロジェクトは MCP サーバーとして、connect_db、query、execute、list_tables、describe_table などのツールを MCP クライアントに公開します。npx で導入でき、Claude Desktop や Codex に設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
@f4ww4z/mcp-mysql-server
MySQL データベースの操作を提供する Model Context Protocol サーバーです。このサーバーを使用すると、標準化されたインターフェースを通じて AI モデルが MySQL データベースと連携できます。
インストール
Smithery 経由でインストール
Smithery 経由で MySQL Server を Claude Desktop に自動インストールするには:
npx -y @smithery/cli install @f4ww4z/mcp-mysql-server --client claude
手動インストール
npx @f4ww4z/mcp-mysql-server
設定
MCP 設定ファイルで、以下の環境変数を設定する必要があります:
推奨される使用方法
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@f4ww4z/mcp-mysql-server", "mysql://user:password@localhost:port/database"],
}
}
}
{
"mcpServers": {
"mysql": {
"command": "npx",
"args": ["-y", "@f4ww4z/mcp-mysql-server"],
"env": {
"MYSQL_HOST": "your_host",
"MYSQL_USER": "your_user",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}
codex
mac
~/.codex/config.toml 内
[mcp_servers.mcp-mysql-server]
command = "npx"
args = [
"-y",
"@f4ww4z/mcp-mysql-server",
"mysql://user:[email protected]:3306/database"
]
windows
%USERPROFILE%\.codex\config.toml 内
[mcp_servers.mcp-mysql-server]
command = "npx"
args = [
"-y",
"@f4ww4z/mcp-mysql-server",
"mysql://user:[email protected]:3306/database"
]
evals の実行
evals パッケージは MCP クライアントを読み込み、その後 index.ts ファイルを実行するため、テストの間に再ビルドする必要はありません。npx コマンドの前に環境変数を指定して読み込むことができます。詳しいドキュメントはこちらをご覧ください。
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
利用可能なツール
1. connect_db
指定した認証情報を使用して MySQL データベースへの接続を確立します。
use_mcp_tool({
server_name: "mysql",
tool_name: "connect_db",
arguments: {
host: "localhost",
user: "your_user",
password: "your_password",
database: "your_database"
}
});
2. query
オプションのプリペアドステートメントパラメーターを指定して SELECT クエリを実行します。
use_mcp_tool({
server_name: "mysql",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = ?",
params: [1]
}
});
3. execute
オプションのプリペアドステートメントパラメーターを指定して INSERT、UPDATE、または DELETE クエリを実行します。
use_mcp_tool({
server_name: "mysql",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES (?, ?)",
params: ["John Doe", "[email protected]"]
}
});
4. list_tables
接続中のデータベース内のすべてのテーブルを一覧表示します。
use_mcp_tool({
server_name: "mysql",
tool_name: "list_tables",
arguments: {}
});
5. describe_table
指定したテーブルの構造を取得します。
use_mcp_tool({
server_name: "mysql",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
機能
- 接続を自動的にクリーンアップする安全な接続管理
- クエリパラメーター向けのプリペアドステートメント対応
- 包括的なエラー処理と検証
- TypeScript 対応
- 接続の自動管理
セキュリティ
- SQL インジェクションを防ぐためにプリペアドステートメントを使用
- 環境変数による安全なパスワード管理に対応
- 実行前にクエリを検証
- 処理完了後に接続を自動的に閉じる
エラー処理
サーバーは、よくある問題に関する詳細なエラーメッセージを提供します:
- 接続の失敗
- 無効なクエリ
- パラメーターの不足
- データベースエラー
コントリビューション
コントリビューションを歓迎します!お気軽に Pull Request を https://github.com/f4ww4z/mcp-mysql-server に送信してください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。