Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aurora MySQL MCPサーバーの話

Avatar for Yuta Kikai Yuta Kikai
July 08, 2025
28

Aurora MySQL MCPサーバーの話

MySQLアンカンファレンス#009では、Aurora MySQL MCPサーバーを触ってみた話をしました。
日本語で命令だけでクエリの実行が可能になります。
また、CloudWatch Logs MCPサーバーと組み合わせることでさらに便利に活用することができます。

Avatar for Yuta Kikai

Yuta Kikai

July 08, 2025
Tweet

Transcript

  1. Aurora MySQL MCPサーバーの全体像 • MCP ClientからAurora MySQL MCPサーバーに接続。標準入出力で通信 • Aurora

    MySQL MCPサーバーはRDS Data APIをつかって Aurora MySQL クラスタにクエリを実行
  2. RDS Data APIとは • HTTPS APIでAurora クラスタにクエリ実行可能な機能 • 2024年9月にAurora MySQLに対応

    • 接続DBユーザー情報はAWS Secrets Managerから取得 • 対応バージョンはAurora MySQL 3.07以上 • t3,t4などのt系インスタンスタイプに非対応 https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/dat a-api.html
  3. Aurora MySQL MCPサーバーをつかってみる(Claude Code) claude mcp addコマンドでAurora MySQL MCPサーバーを追加 claude

    codeを起動し、/mcp コマンドで接続状態確認 claude mcp add mysql-mcp -e AWS_PROFILE=default -e AWS_REGION=ap-northeast-1 -e FASTMCP_LOG_LEVEL=ERROR -- uvx awslabs.mysql-mcp-server@latest --resource_arn '【接続したいクラスタの ARN】' --secret_arn '【接続したいクラスタの接続情報の Secrets Managerの ARN】' --database 【スキーマ名】 --region ap-northeast-1 --readonly True claude mcp add mysql-mcp -e AWS_PROFILE=default -e AWS_REGION=ap-northeast-1 -e FASTMCP_LOG_LEVEL=ERROR -- uvx awslabs.mysql-mcp-server@latest --resource_arn '【接続したいクラスタの ARN】' --secret_arn '【接続したいクラスタの接続情報 のSecrets ManagerのARN】' --database 【スキーマ名】 --region ap-northeast-1 --readonly True
  4. Aurora MySQL MCPサーバーには2つのツールが実装されている • run_query ◦ MySQLに対してクエリを実行できる ◦ 読み取り専用モードのチェックや SQLインジェクションリスクの検出が実装

    ▪ ひっかかるとエラーになるようになっている ▪ リリース当初はSQLクエリに ; が含まれるだけでエラーになっていた • 6月初旬に行末の ; は通るように修正済み • get_table_schema ◦ information_schemaから指定のテーブルスキーマをとってくる実装
  5. 本番で使う場合に考慮しておくこと • 基本的には Aurora MySQL MCPサーバーは read-onlyで起動する ◦ DROPやTRUNCATEなど破壊的な実行を制限 ◦

    ユーザーごとにMCPサーバーを起動する必要があるので、 read-onlyを忘れる可能性あり • MCPサーバーから利用する DBユーザーの権限を読み取りのみとする ◦ MCPサーバー起動時のread-onlyを忘れても更新クエリは通らなくなる
  6. 私が担当している環境ではつかえない... • Aurora MySQL v3.04( Long-Term Support )を利用中 ◦ RDS

    Data API非対応 ◦ そろそろ次のLTS対応版が出てほしいですね 😂