mcpField
M
Mcp Mysql Server

Mcp Mysql Server

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

Mcp Mysql Server について

mcp-mysql-server は、MySQL データベース操作を提供する MCP サーバーで、AI モデルが標準化されたインターフェースを通じてデータベースを照会・更新できます。プリペアドステートメントや EXPLAIN 分析を備え、AI クライアントから MySQL にアクセスしたい開発者向けです。

主な機能

  1. 01MySQL データベースへの接続
  2. 02SELECT と INSERT/UPDATE/DELETE の実行
  3. 03プリペアドステートメントのパラメーター対応
  4. 04テーブル一覧と構造の確認
  5. 05SHOW 文と EXPLAIN による実行計画の分析

活用シーン

  1. 01AI クライアントから MySQL 内の業務データを照会する
  2. 02低速なクエリの実行計画を分析する
  3. 03データベースの状態と変数設定を確認する

MCP 対応

MCP サーバーであり、接続、クエリ実行、テーブル構造の確認、SHOW、EXPLAIN などのツールをクライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mysql-server-huangfeng19820712": {
"command": "npx",
"args": [
"-y",
"@fhuang/mcp-mysql-server"
],
"env": {
"MYSQL_HOST": "<MYSQL_HOST>",
"MYSQL_USER": "<MYSQL_USER>",
"MYSQL_PORT": "<MYSQL_PORT>",
"MYSQL_PASSWORD": "<MYSQL_PASSWORD>",
"MYSQL_DATABASE": "<MYSQL_DATABASE>"
}
}
}
}
起動コマンドnpx -y @fhuang/mcp-mysql-server
設定が必要な環境変数
MYSQL_HOST
MYSQL_USER
MYSQL_PORT
MYSQL_PASSWORDシークレット
MYSQL_DATABASE

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@fhuang/mcp-mysql-server

ツール

7

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
hoststringはいデータベースホスト
userstringはいデータベースユーザー
passwordstringはいデータベースパスワード
databasestringはいデータベース名
portnumberいいえデータベースポート(任意)

詳細

@fhuang/mcp-mysql-server

[英語 | 中国語ドキュメント]


中国語ドキュメントについては、README.zh-CN.mdをご覧ください。


smithery badge

MySQL データベースの操作を提供する Model Context Protocol サーバーです。このサーバーを使用すると、AI モデルが標準化されたインターフェースを通じて MySQL データベースとやり取りできます。

インストール

Smithery 経由でインストール

Smithery 経由で Claude Desktop 用の MySQL Server を自動的にインストールするには:

npx -y @smithery/cli install @fhuang/mcp-mysql-server --client claude
手動インストール
npx @fhuang/mcp-mysql-server

設定

MCP 設定ファイルで、以下の環境変数を設定する必要があります。

推奨設定

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@fhuang/mcp-mysql-server", "mysql://user:password@localhost:port/database"],
    }
  }
}
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@fhuang/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

評価の実行

評価パッケージは 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"
  }
});
6. show_statement

SHOW STATUS、SHOW VARIABLES などの SHOW ステートメントを実行します。

use_mcp_tool({
  server_name: "mysql",
  tool_name: "show_statement",
  arguments: {
    sql: "SHOW VARIABLES"
  }
});
7. explain

EXPLAIN を使用して SQL クエリのパフォーマンスを分析します。アクセス種別、検査対象の行数、最適化の候補など、実行計画の詳細を返します。

use_mcp_tool({
  server_name: "mysql",
  tool_name: "explain",
  arguments: {
    sql: "SELECT * FROM users WHERE id = ?"
  }
});

機能

  • 自動クリーンアップによる安全な接続処理
  • クエリパラメーター向けのプリペアドステートメント対応
  • 包括的なエラー処理と検証
  • TypeScript 対応
  • 自動接続管理

セキュリティ

  • SQL インジェクションを防ぐためにプリペアドステートメントを使用
  • 環境変数による安全なパスワード管理に対応
  • 実行前にクエリを検証
  • 処理完了時に接続を自動的に閉じる

エラー処理

このサーバーは、次のような一般的な問題について詳細なエラーメッセージを表示します。

  • 接続失敗
  • 無効なクエリ
  • パラメーター不足
  • データベースエラー

貢献

貢献を歓迎します。https://github.com/huangfeng19820712/mcp-mysql-server へのプルリクエストをお気軽にお送りください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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