Slide 1

Slide 1 text

Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた 2 0 2 5 - 0 8 - 3 0 J A W S - U G O k a y a m a 2 0 2 5

Slide 2

Slide 2 text

Contents 01 自己紹介 02 Amazon Aurora MySQL/PostgreSQL MCP Server の紹介 03 MCP Server を支えるRDS Data API

Slide 3

Slide 3 text

自己紹介 Webアプリケーションエンジニア 株式会社リンケージ Webエンジニア(?) 日本PostgreSQLユーザー会 中国地方支部長 妻と息子と娘と岡山在住 高橋 一騎 (@ikkitang) TakahashiIkki TakahashiIkki ikkitang ikkitang Social AIデッキ

Slide 4

Slide 4 text

ざっくり近況報告 2024/12 に転職しました(株式会社リンケージ) 最近はデータ基盤の整備で社内の人と喋る or SQLを書く をやってます LLMの事例は大体趣味の範囲です

Slide 5

Slide 5 text

Amazon Aurora MySQL/PostgreSQL MCP Server の紹介 02

Slide 6

Slide 6 text

MCP (Model Context Protocol) AIモデルに追加の機能・情報・コンテキストを提供するためのプロトコル MCP Server MCPを通じて特定の機能やデータを公開するサーバー(軽量プログラム) これを作ることで、 「AI エージェントなどから自分のサービスを簡単に 呼び出してもらえる」ようになる MCP Client MCPを利用するクライアントアプリケーション Claude Desktop とか Copilot とか Cursor とか ユーザーは、自然言語で依頼するだけでやりたいことを実現できる 例) 今日の天気をWebで調べて教えて (Playwright MCP)

Slide 7

Slide 7 text

MCP Server を理解するための知識 プリミティブ 説明 Prompts 公開されたプロンプトテンプレート ユーザーが自分のタイミングで実行でき、実行時に展開されたプロンプトに応じ てAIモデルが思考する Resources 公開された読み取り専用データソース AIモデルが推論に必要なコンテキストを取得でき、URIベースで統一的にアクセ ス可能な外部データ (s3:// でも file:// でも https:// でもOK) Tools 公開された実行可能関数 ( MCP っていうと大体これ) AIモデルが外部システムに対してアクションを実行でき、副作用を伴う操作や動 的なデータ取得を行う MCP Server は アプリケーションへの統合単位として以下を提供する

Slide 8

Slide 8 text

AWS から提供されたMCP Server達 https://github.com/awslabs/mcp AWS API MCP Server 自然言語でAWSの各種サービスを操作する AWS Documentation MCP Server AWS ドキュメントを検索する AWS Pricing MCP Server AWSサービスの料金とコスト見積もりを提供する などなど..! ※ 使用の際は、README.mdをよく読むこと まだProductionReadyではないよ、とか危険な操作があるよ、とか。

Slide 9

Slide 9 text

MCP Server を理解するための知識 README.md を読むときに Tools をキーワードとして読むと         より詳細に実行イメージがついていく aws-api-mcp-serverの例:

Slide 10

Slide 10 text

MCP Tools よもやま https://zenn.dev/ikkitang/articles/ikkitang-677b33585d929d

Slide 11

Slide 11 text

Amazon Aurora MySQL/PostgreSQL MCP Server Aurora MySQL・Aurora PostgreSQLが稼働しているDBクラスタに対して データベース操作をすることができるMCP Server Tools get_table_schema: 特定のテーブルのスキーマ情報を取得できる run_query: 任意のSQLを実行できる ユーザーが得られる恩恵 自然言語でのデータベース操作 SQLクエリの自動生成 テーブル構成の理解

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

自然言語でのデータベース操作の各コンポーネント

Slide 14

Slide 14 text

Amazon Aurora MySQL/PostgreSQL MCP Serverの制約 run_query などの接続には RDS Data API を用いて接続している そのため、必然的に RDS Data API の制約を受ける DBエンジンはAurora MySQL と Aurora PostgreSQLのみサポート ※ PostgreSQL側のみ、RDS Data API を使わずに直接接続することが できる裏技がある Tクラスインスタンスは非対応 DBクラスターのライターインスタンスでのみリクエストを許可できる

Slide 15

Slide 15 text

Amazon Aurora MySQL/PostgreSQL MCP Serverの設定 Database への接続情報 (user/password)は Secrets Managerに保存して使う AWS_PROFILE では RDS Data API とSecrets Manager の権限を持った ロールが必要 --readonly を設定しておくことで読 み取り専用Queryのみが実行される https://github.com/awslabs/mcp/blob/main/src/postgres-mcp- server/awslabs/postgres_mcp_server/mutable_sql_detector.py

Slide 16

Slide 16 text

AccessKey/Secret 管理したくない.. 鍵管理したくない...ので何かいい方法あるんだろうか? 調べられなかった 一応、profileのSSOを設定して動いたのでそういうのはありそう? uvx awslabs.postgres-mcp-server@latest {略} ↓ aws-vault exec sso -- uvx awslabs.postgres-mcp-server@latest {略} 上記を設定することで Claude Desktop の起動時に          SSOのログインページが開いて認証ができることを確認した

Slide 17

Slide 17 text

MCP Server を支える RDS Data API 03

Slide 18

Slide 18 text

Amazon Aurora向けのHTTPSベースAPIサービス(2018年リリース) 2018年 Aurora Serverless v1 向けに提供 2023年に Aurora Serverless v2 / プロビジョニング 向け RDS Data APIも提供 v1とv2でちょくちょく仕様が異なる(別物らしい AWS SDK / AWS CLI から利用可能 AWS側でコネクションプールが管理され、接続管理から開放される RDS Data APIの基本概念

Slide 19

Slide 19 text

Aurora MySQL/PostgreSQL クラスタの設定で Data API を有効にするだけ 有効にするには HTTPのエンドポイント(スタンダードエンドポイント)はPublicに公開され るが、AWS PrivateLinkを作って Privateに閉じることもできる これを使う事で RDS Proxy に代わってLambda からアクセスするなどが 可能になる

Slide 20

Slide 20 text

aws rds-data {command} トランザクション管理 begin-transaction / commit-transaction / rollback-transaction 任意のSQLの実行 execute-statement: 単一のSQL文の実行 基本的にはステートレス `--transaction-id` を指定することで同一トランザクションで     実行できる batch-execute-statement: 複数のSQL文を一括実行 コマンド一覧

Slide 21

Slide 21 text

実行例 records はカラム順になる

Slide 22

Slide 22 text

宣伝

Slide 23

Slide 23 text

宣伝.1 2025年9月13日(土) 13:00-17:00 テーマ: 「AI x SQL」 connpass で募集中です!! https://dbstudychugoku.connpass. com/event/360688/

Slide 24

Slide 24 text

宣伝.2 2025年9月20日(土) 13:00-17:00 特に固定されたテーマはなく 幅広く話が聞けそう connpass で募集中です!! https://osk.connpass.com/eve nt/363281/

Slide 25

Slide 25 text

ありがとうございました! Thank you! 高 橋   一 騎