Provides tools for executing SQL queries against MySQL databases, including read-only operations (SELECT, SHOW, DESCRIBE, EXPLAIN) and write operations (INSERT, UPDATE, DELETE, CREATE, DROP, ALTER) with approval requirements for data modifications.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DB Agent MCP Servershow me the top 10 customers by total purchases"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DB Agent MCP Server
MySQLデータベースにクエリを実行するMCPサーバーです。
セットアップ
1. 依存関係のインストール
2. 環境変数の設定
.envファイルを作成し、以下の環境変数を設定してください:
認証について:
AUTH_ENABLED=false(デフォルト): 認証なしで動作します(開発環境向け)AUTH_ENABLED=true: 認証が有効になります。この場合、API_KEYの設定が必須です認証が有効な場合、リクエストには以下のいずれかの方法でAPIキーを含める必要があります:
Authorization: Bearer <API_KEY>ヘッダーAuthorization: ApiKey <API_KEY>ヘッダーX-API-Key: <API_KEY>ヘッダー
3. MySQLデータベースの起動
Dockerコンテナの停止・削除
コンテナを停止する場合:
コンテナを停止して削除する場合:
コンテナを停止せずに削除する場合(強制削除):
4. MCPサーバーの起動
HTTPサーバーとして起動します:
デフォルトでhttp://localhost:3000/mcpで起動します。ポートを変更する場合は環境変数PORTを設定してください。
認証について:
デフォルトでは認証が無効(
AUTH_ENABLED=false)です本番環境では
AUTH_ENABLED=trueとAPI_KEYを設定して認証を有効にしてください
5. MCPクライアントの設定
Cursorの場合
認証が無効な場合(開発環境):
Cursorの設定ファイル(~/.cursor/mcp.json または設定UI)に以下を追加:
認証が有効な場合(本番環境):
headersセクションを使用してAPIキーを指定します。以下のいずれかの方法を使用できます:
方法1: X-API-Keyヘッダーを使用
方法2: Authorizationヘッダーを使用(Bearer形式)
方法3: Authorizationヘッダーを使用(ApiKey形式)
Claude Desktopの場合
認証が無効な場合(開発環境):
~/Library/Application Support/Claude/claude_desktop_config.json に以下を追加:
認証が有効な場合(本番環境):
headersセクションを使用してAPIキーを指定します:
または
重要: MCPサーバーを起動してから、CursorやClaude Desktopを再起動してください。
使用方法
MCPクライアントから以下の2つのツールを使用してSQLクエリを実行できます。
run_query_readonly - 読み取り専用クエリ(承認不要)
SELECT、SHOW、DESCRIBE、DESC、EXPLAINクエリを実行します。このツールは承認を求めません。
例:
SELECT * FROM users LIMIT 10;SELECT COUNT(*) FROM sessions;SHOW TABLES;DESCRIBE users;EXPLAIN SELECT * FROM users;
run_query_write - 書き込みクエリ(承認必要)
INSERT、UPDATE、DELETE、CREATE、DROP、ALTERなどの書き込み操作を実行します。このツールはユーザーの承認を求めます。
例:
INSERT INTO users (name, email) VALUES ('John', 'john@example.com');UPDATE users SET name = 'Jane' WHERE id = 1;DELETE FROM sessions WHERE expired_at < NOW();CREATE TABLE products (id INT PRIMARY KEY, name VARCHAR(255));