実現したいこと
- ローカルのMySQL DBにAI Client (Claude Desktop)を接続したい
- 接続の方法はMCP(Model Context Protocol)を利用したい
実現方法
- MCPサーバーはmysql_mcp_serverを利用
- uvを利用してローカルに仮想Python実行環境を構築
-
python v3.13.2
を利用
成果物
実現方法
-
mysql_mcp_serverをローカルにクローン
powershellgit clone https://github.com/designcomputer/mysql_mcp_server.git
-
python仮想環境を構築
powershellpython -m venv venv
-
仮想環境をアクティベート
powershellvenv\Scripts\activate
-
MCP接続に必要なライブラリを仮想環境にインストール
powershellpip install -r requirements.txt
requrement.txtの中身:
mcp>=1.0.0 mysql-connector-python>=9.1.0
-
環境変数としてMySQLへの接続情報を設定(以下はWindows例)
powershell(venv) PS mysql_mcp_server> $env:MYSQL_USER="<DB user name>" (venv) PS mysql_mcp_server> $env:MYSQL_PASSWORD="<user passsword>" (venv) PS mysql_mcp_server> $env:MYSQL_DATABASE="<database name>"
-
MCPサーバの起動
powershelluv --directory <Path to mysql_mcp_server folder> run server.py
-
Claude DesktopのConfigファイルにMySQLへの接続情報を追加
claude_desktop_config.json{ "mcpServers": { "mysql": { "command": "uv", "args": [ "--directory", "Path to /mysql_mcp_server/ folder", "run", "server.py" ], "env": { "MYSQL_HOST": "<MySQL hostname>", "MYSQL_PORT": "3306", "MYSQL_USER": "<DB user name>", "MYSQL_PASSWORD": "<user passsword>", "MYSQL_DATABASE": "<database name>" } } } }
-
Claude Desktop Appを起動する。トンカチのマークを選択し、今回追加した
execute_sql
が表示されていればOK。
ハマりポイント
- 仮想Python環境にも環境変数としてDBへの接続情報を入力することを忘れていた。
- Claude Desktop App側のConfigファイルを修正したら一度アプリを終了して再度立ち上げる必要があった。