Movatterモバイル変換


[0]ホーム

URL:


GMOインターネットグループ グループ研究開発本部

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
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 Follow @GMO_RD
  • AI研究開発室
  • 大阪研究開発グループ

関連記事

  • AI研究開発室
  • GMOインターネットグループ合同 テクノロジーインターンシップ
  • AI・ロボティクス インターンシップ

[8]ページ先頭

©2009-2025 Movatter.jp