2025.12.15
MCP Toolbox for DatabasesでMysqlを操作してみた
こんにちは。次世代システム研究室のL.W.です。
Claude desktop + MCPでmysqlデータベースを操作してみたが、データへの理解、データ操作に役に立っていると実感していますので、共有します。
今回のMCP serverはOSSのMCP Toolbox for Databasesを採用しました。テストデータはworld databaseを採用しました。
MCPの基礎については、このブログを参照していただければと思います。
1.MCP Toolbox for Databases
MCP Toolbox for Databases は、データベース向けのオープンソース MCP サーバーです。
接続プーリング、認証などの複雑な処理を扱うことで、ツールをより簡単に、迅速に、そして安全に開発できるようにします。
アーキテクチャは以下のようです。

出典:https://github.com/googleapis/genai-toolbox
2. 事前準備
2.1. MCP Toolbox for Databasesのインストール
ここに参照できます。こちらの場合、以下のを使いました。
export VERSION=0.23.0curl -L -o toolbox https://storage.googleapis.com/genai-toolbox/v$VERSION/darwin/arm64/toolboxchmod +x toolbox
2.2. Mysqlのインストールとデータの準備
mysqlのインストールはここに参照できます。world databaseをmysqlに導入しておきます。
mysql -u root -pCREATE DATABASE world;exit;mysql -u root -p world < world.sql
データを確認する。
mysql> show tables;+-----------------+| Tables_in_world |+-----------------+| city || country || countrylanguage |+-----------------+
2.3. Claude desktopの設定
claude_desktop_config.jsonは以下のように設定しておきます。
{ "mcpServers": { "mysql": { "command": "<your path>/toolbox", "args": ["--prebuilt", "mysql", "--stdio"], "env": { "MYSQL_HOST": "<host>", "MYSQL_PORT": "<port>", "MYSQL_DATABASE": "world", "MYSQL_USER": "<user>", "MYSQL_PASSWORD": "<password>" } } }}
2.4. Claude desktopでMCP server提供しているツールを確認する
以下のルールが提供されていることが確認できます。

これらのツールは、MCP Toolbox for Databasesがprebuiltしたツールとなりますが、今回の試しでは、利用されていました。もちろん、tools.yamlでカスタマイズができますが、今回のカスタマイズが割愛します。
Tools:execute_sql: Executes a SQL query.list_tables: Lists tables in the database.get_query_plan: Provides information about how MySQL executes a SQL statement.list_active_queries: Lists ongoing queries.list_tables_missing_unique_indexes: Looks for tables that do not have primary or unique key contraint.list_table_fragmentation: Displays table fragmentation in MySQL.
3. Mysqlを操作する
今回はmysqlのデータ操作とデータ分析に試しました。実際のプロジェクトでも活用していますので、確かに役立っています。
3.1. List tables
3.2. データの詳細
コラム構成、インデックス、キー制約などを取得できます。
3.3. リレーショナル関係とER図作成
3.4. 日本に関わっているデータの分析
3.5. データ分析と可視化
3.6. Alter table
3.7. Update table
3.8. Drop column
3.9. Delete data(制約あり)
3.10. rollback
3.11. 新規にテーブルを作成(プラン付き)
4.まとめ
MCP Toolbox for Databasesのprebuilt版で、大抵の操作ができたことが検証できました。もっと深掘りできれば、Toolbox’s tools.yamlファイルをカスタマイズして、カスタマイズの例として、ここで参照できます。
デバッグする時、toolbox-uiの利用もおすすめです。
自然言語だけで、データの読み取りだけではなく、直接更新することもできましたね。本番データベースへの応用には、今の段階でお勧めしません。予想外の操作が出てくる可能性も否めないでしょう。
そして、本番のデータベース接続情報をclaude_desktop_config.jsonに明記するのも良くないです。
認証を入れた方が良いでしょう、この部分はここに参照できます。
筆者は、仕事で既存のデータベースに理解を深めるために、よくMCP Toolbox for Databasesを活用しています。今回の共有はみなさんの一助になればと嬉しいです。
5.最後に
次世代システム研究室では、グループ全体のインテグレーションを支援してくれるアーキテクトを募集しています。アプリケーション開発者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ募集職種一覧からご応募をお願いします。
皆さんのご応募をお待ちしています。
グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。
Follow @GMO_RD関連記事

2025/07/02
LLMはドラえもんより優秀か?〜ChatGPTにひみつ道具コンサルをさせてみた〜
- AI
- ChatGPT
- LLM
- データサイエンス
- データサイエンティスト

2022/04/08
MariaDB Galera Clusterのパラメータを変化させたときの書き込み性能について
- Galera Cluster
- InnoDB
- mariadb
- MySQL

2025/09/30
EVM MCPを試してみた
- AI
- blockchain
- Claude
- ERC20
- evm
- foundry
- LLM
- MCP
- smart contract
- Solidity

2018/07/03
MySQL でシンプルな排他制御を GET_LOCK で実現する!
- GET_LOCK
- LOCK
- mariadb
- MySQL
- ロック
- 排他制御
タグ
最新の記事





