MySQL MCP服务器 について
Node.js 製の MCP サーバーで、Cursor から MySQL のクエリ実行やテーブル構造の取得を行えます。HTTP エンドポイントも備え、Docker でデプロイできます。
主な機能
- 01SQL クエリとデータ操作の実行
- 02テーブル構造と DDL の取得
- 03環境変数による接続設定
- 04クエリと構造情報の HTTP エンドポイント
- 05Docker デプロイ対応
活用シーン
- 01Cursor から MySQL データを検索
- 02開発中にテーブル構造を確認
- 03AI 経由で挿入・更新・削除を実行
- 04Docker Compose でサーバーをデプロイ
MCP 対応
MCP クライアントに MySQL のクエリとスキーマ機能を公開し、`/manifest.json` でマニフェストを提供します。README では Cursor にマニフェスト URL を設定する方法を説明しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MySQL MCP サーバー
MySQL MCP サービス
Cursor に MySQL データベースへの接続とクエリ機能を提供する MCP サービス
📖 プロジェクト紹介
MySQL MCP サービスは、Node.js で開発された API サービスで、Cursor AI に MySQL データベースへ直接アクセスする機能を提供します。このサービスは MCP(Model Control Platform)プロトコル仕様に準拠しており、AI が標準化されたインターフェースを通じて SQL クエリを実行し、テーブル構造情報を取得し、データ操作を実行できます。
✨ 機能
- SQL クエリの実行:さまざまな SQL 文(SELECT、INSERT、UPDATE、DELETE など)の実行に対応
- テーブル構造の照会:データベーステーブルの詳細な構造情報を取得
- リアルタイムのデータアクセス:AI にリアルタイムのデータベースアクセス機能を提供
- 安全な接続:環境変数によるデータベース接続パラメーターの設定に対応
- クロスオリジン対応:CORS を内蔵し、フロントエンドアプリケーションとの統合が容易
- 標準化されたレスポンス:統一された API レスポンス形式により、統合と利用を簡素化
- MCP プロトコル対応:MCP プロトコルを完全に実装し、Cursor AI と簡単に統合可能
🔧 技術スタック
- 実行環境:Node.js
- 主要フレームワーク:Express.js
- データベースドライバー:mysql2
- 環境変数:dotenv
- クロスオリジン対応:cors
🚀 インストールとデプロイ
前提条件
- Node.js 14.x 以降
- 接続可能な MySQL データベース
- Git(任意。コードのクローンに使用)
インストール手順
- コードリポジトリをクローン
git clone https://github.com/lichuanrong7/mysql-mcp-server.git
cd mysql-mcp-server
- 依存関係をインストール
npm install
- 環境変数を設定
.env ファイルを作成または編集し、以下の設定を追加します。
# 服务器配置
PORT=3100
# 数据库配置
DB_HOST=你的数据库地址
DB_PORT=3306
DB_USER=你的数据库用户名
DB_PASSWORD=你的数据库密码
DB_NAME=你的数据库名称
- サービスを起動
# 开发模式启动
npm run dev
# 生产模式启动
npm start
起動スクリプトを使用
プロジェクトには、便利な起動・停止スクリプトが用意されています。
-
サービスを起動:
./start.sh -
サービスを停止:
./stop.sh
Docker でのデプロイ
- Docker イメージをビルド
docker build -t mysql-mcp-server .
- Docker Compose で起動
docker-compose up -d
📝 API ドキュメント
主なエンドポイント
- MCP マニフェスト:
/manifest.json - OpenAPI 仕様:
/openapi.yaml - SQL クエリ:
/api/mysql/query - テーブル構造の照会:
/api/mysql/schema - DDL クエリ:
/api/mysql/ddl
リクエストの例
SQL クエリを実行:
curl -X POST http://localhost:3100/api/mysql/query \
-H "Content-Type: application/json" \
-d '{"query":"SELECT * FROM users LIMIT 10"}'
テーブル構造を取得:
curl -X GET http://localhost:3100/api/mysql/schema?table=users
🔌 Cursor での使用方法
- Cursor エディターを開きます
- MCP 拡張機能の管理画面に移動します
- 新しい MCP サービスを追加します
- サービス URL を入力します:
http://localhost:3100/manifest.json - サービスを保存して有効化します
MCP サービスを有効化すると、Cursor で自然言語を使ってデータベースを操作できます。
- 「ユーザーテーブルの先頭10件のレコードを照会」
- 「製品テーブルの構造を取得」
- 「注文ステータスごとの注文数を集計」
🔍 トラブルシューティング
-
サービスを起動できない
- ポートが使用中でないか確認します:
lsof -i :3100 - Node.js のバージョンに互換性があることを確認します
- ログファイルを確認します:
./logs/mysql-mcp-*.log
- ポートが使用中でないか確認します:
-
データベースへの接続に失敗する
- データベースの接続情報が正しいことを確認します
- データベースサービスが稼働中であることを確認します
- ネットワーク接続とファイアウォールの設定を確認します
-
API リクエストに失敗する
- サービスが正常に稼働していることを確認します:
curl http://localhost:3100/manifest.json - リクエスト形式が正しいことを確認します
- サーバーログを確認し、詳しいエラー情報を取得します
- サービスが正常に稼働していることを確認します:
📄 ライセンス
本プロジェクトは MIT ライセンスを使用しています。詳細は LICENSE ファイルをご覧ください。
👥 貢献ガイド
問題の報告やコードの貢献を歓迎します。以下の手順に従ってください。
- このリポジトリを Fork します
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - Pull Request を作成します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。