Share
話題の MCP と巡る OCI RAG ソリューションの旅 - Select AI with RAG と Generative AI Agents ディープダイブ
2025年5月23日(金)に開催された Developer Day 2025 のブレイクアウトセッション [T1-4] 「話題の MCP と巡る OCI RAG ソリューションの旅 - Select AI with RAG と Generative AI Agents ディープダイブ」の登壇資料です。
目次:
1. 生成AI (LLM)活用で大切なもの? - Context is all you need.
2. モデルコンテキストプロトコル(MCP)- AIアプリケーションの USB-C
3. Oracle Database MCP サーバー(仮)- AIアプリケーションと Oracle Database の架け橋
4. Select AI with RAG - Autonomous Database さえあれば、5分で RAG
5. MCP で Select AI with RAG - Select AI with RAG の世界を体験
6. MCP で深堀り- データベース探索の友、MCPサーバーを使って Select AI with RAG の世界を探索
7. Select AI Chat - データベースから LLM を呼び出す機能で、Select AI with RAG を自作!
8. Generative AI Agents Platform - RAG、SQL、Function Calling を駆使する AIエージェントのプラットフォーム
9. DIY で作るMCP クライアント - スクラッチ、LangGraph ReACT Agent
10. まとめ
11. おまけ - AI エージェントとデータベース MCP サーバーで経営戦略を立案してもらう
関連ブログ:
- MCPが便利そうなので Oracle DB とおしゃべりする MCP サーバーを作ってみた(SELECT AI対応:2025/5/3 更新)
https://qiita.com/yuji-arakawa/items/64aad551c810b41ed49d
- AI エージェントと Oracle DB MCP サーバー で経営戦略を策定してもらった
https://qiita.com/yuji-arakawa/items/d82607da0c96eb4099c3
Yuji Arakawa
Transcript
77 slides
-
話題の MCP と巡る OCI RAG ソリューションの旅 - Select AI with
RAG と Generative AI Agents ディープダイブ 荒川裕二 クライド事業統括 クラウド・エンジニアリングCOE統括 ソリューションズ・アーキテクト部 マスター・プリンシパル・クラウド・エンジニア 2025/5/23 -
荒川裕二 日本オラクル株式会社 クライド事業統括 クラウド・エンジニアリングCOE統括 ソリューションズ・アーキテクト部 マスター・プリンシパル・クラウド・エンジニア 2 Copyright © 2025,
Oracle and/or its affiliates AI/ML ソリューション担当チームメンバー Oracle AI Jam Session 運営メンバー 職歴: SIer SE、Webプロデューサー、 HPCエンジニア、クラウドSA(前職) -
アジェンダ Copyright © 2025, Oracle and/or its affiliates 3 3
Oracle Database MCP サーバー(仮) AIアプリケーションと Oracle Database の 架け橋 2 モデルコンテキスト プロトコル (MCP) AIアプリケーションの USB-C 5 MCP で Select AI with RAG Select AI with RAG の世界を体験 4 Select AI with RAG Autonomous Database さえあれば、 5分で RAG 1 生成AI (LLM) 活用で大切なも の? Context is all you need. -
アジェンダ Copyright © 2025, Oracle and/or its affiliates 4 8
Generative AI Agents Platform RAG、SQL、Function Calling を駆使する AI エージェントのプラット フォーム 7 Select AI Chat データベースから LLM を 呼び出す機能で、 Select AI with RAG を自作! 6 MCP で深堀り データベース探索の友、 MCPサーバーを使って Select AI with RAG の世界を探索 9 DIY で作る MCP クライアント スクラッチ、LangGraph ReACT Agent 10 まとめ -
生成AI (LLM)活用で大切なもの? 5 Copyright © 2025, Oracle and/or its affiliates
MCP(Model Context Protocol) と RAG(Retrieval-Augmented Generation)に共通するもの -
コンテキスト(文脈:背景情報) Copyright © 2025, Oracle and/or its affiliates 6 質
問 答えは XXです! + コンテキスト コンテキ ストを 踏まえて 質問に 答えて 大規模言語モデル:LLM コンテキストが無い(足りない)と、せっせと生成する 事実でないことも ≒ ハルシネーション -
コンテキスト(文脈:背景情報) Copyright © 2025, Oracle and/or its affiliates 7 質
問 答えは XXです! + コンテキスト データベース Retrieval-Augmented Generation : RAG コンテキ ストを 踏まえて 質問に 答えて 大規模言語モデル:LLM 検索でコンテキスト を拡張(補完) -
コンテキスト(文脈:背景情報) Copyright © 2025, Oracle and/or its affiliates 8 質
問 答えは XXです! + コンテキスト Retrieval Augmented Generation : RAG Web検索 天気予報 ホテル 空室情報 ・・・ AIアプリケーションが、各種ツールからコンテキストを 取得して LLM へ提供 コンテキ ストを 踏まえて 質問に 答えて 大規模言語モデル:LLM 検索でコンテキスト を拡張(補完) ツールでコンテキス トを拡張(補完) データベース -
MCP は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。 MCPは、AIアプリケーション向けの USB-Cポートのようなものと考えてください。USB-Cがデバイスを様々な 周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCPはAIモデルを異なるデータソー スやツールに接続する標準的な方法を提供します。 モデルコンテキストプロトコル(MCP) Copyright
© 2025, Oracle and/or its affiliates 10 (Anthropic 社のドキュメントより引用) ばらばらなインターフェース 標準化された共通インターフェース -
コンテキスト(文脈:背景情報)を提供する MCP Copyright © 2025, Oracle and/or its affiliates 11
質 問 答えは XXです! + コンテキスト Retrieval Augmented Generation : RAG Web検索 天気予報 ホテル 空室情報 ・・・ AIアプリケーションが、各種ツールからコンテキストを取得して LLM へ提供 コンテキ ストを 踏まえて 質問に 答えて 大規模言語モデル:LLM モデルコンテキストプロトコル(MCP) データベース -
MCP は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。 MCPは、AIアプリケーション向けの USB-Cポートのようなものと考えてください。USB-Cがデバイスを様々な 周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCPはAIモデルを異なるデータソー スやツールに接続する標準的な方法を提供します。 ちなみに・・・・ Copyright
© 2025, Oracle and/or its affiliates 12 (Anthropic 社のドキュメントより引用) 環境へ影響を 与えることもできる と説明されていますが…… 環境から情報を 取得するたけでなく -
MCP は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。 MCPは、AIアプリケーション向けの USB-Cポートのようなものと考えてください。USB-Cがデバイスを様々な 周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCPはAIモデルを異なるデータソー スやツールに接続する標準的な方法を提供します。 ちなみに・・・・ Copyright
© 2025, Oracle and/or its affiliates 13 (Anthropic 社のドキュメントより引用) 環境へ影響を 与えることもできる と説明されていますが…… 環境から情報を 取得するたけでなく ホテルの空室情報取得 ホテルの予約 -
MCP は、アプリケーションが LLM にコンテキストを提供する方法を標準化するオープンプロトコルです。 MCPは、AIアプリケーション向けの USB-Cポートのようなものと考えてください。USB-Cがデバイスを様々な 周辺機器やアクセサリーに接続する標準的な方法を提供するように、MCPはAIモデルを異なるデータソー スやツールに接続する標準的な方法を提供します。 ちなみに・・・・ Copyright
© 2025, Oracle and/or its affiliates 14 (Anthropic 社のドキュメントより引用) 環境へ影響を 与えることもできる と説明されていますが…… 環境から情報を 取得するたけでなく データベースを検索 DBA業務 ホテルの空室情報取得 ホテルの予約 -
MCP のアーキテクチャ Copyright © 2025, Oracle and/or its affiliates 15
MCPホスト • AIアシスタント • IDE • AIエージェント AIアプリケーション MCP クライアント MCP クライアント MCP クライアント MCP サーバー MCP サーバー MCP サーバー データソース データソース 外部 サービス • MCP ホスト • MCP クライアント • MCP サーバー MCP プロトコル MCP プロトコル MCP プロトコル Web API MCPを使ってデータやサービスへアクセスするアプリケーション MCP サーバーとの接続を維持・管理するプロトコルクライアント MCP 標準に則ってデータソースや外部サービスとのプロキシーとして振舞うプログラム -
MCP の主な機能(プリミティブ) Copyright © 2025, Oracle and/or its affiliates 16
ツール モデル制御 AIモデルが自ら判断して実行するアクション。AIモデルが状況を分析し、自律的に適切なツールを選択して実行す るアクション。(例:SQLの実行、天気予報の取得、Web検索) リソース アプリケーション制御 アプリケーション側が管理・提供する読み取り専用のデータソース。アプリケーションがどのリソースをAIモデルに利用 可能にするかを決定。AIモデルが動的に選択するのではない。(例:テキストファイル、データベーススキーマ、ファイ ル) プロンプト ユーザー制御 ツールやリソースを効果的に利用するためにあらかじめ定義されたプロンプトのテンプレート。ユーザーがどのプロンプ トを使用するかを主体的に選択・指定する。 -
サービスプロバイダー(API)・デベロッパーにとってのメリット Copyright © 2025, Oracle and/or its affiliates 17 MCP対応
AIアプリケーションーX MCP サーバー データソース サービス MCP プロトコル 自社データソース/サービスの MCP サーバーを一度公開すれば、様々 (Virtually Unlimited)な MCP対応 AIアプリケーションから使ってもらえる MCP対応 AIアプリケーションーY MCP対応 AIアプリケーションーZ -
AIアプリケーション・デベロッパーにとってのメリット Copyright © 2025, Oracle and/or its affiliates 18 MCP対応
AIアプリケーション • AIアシスタント • IDE • AIエージェント MCP サーバー MCP サーバー MCP サーバー データソース データソース 外部 サービス MCP プロトコル Web API AIアプリケーションを一度 MCP 対応にすれば、様々 (Virtually Unlimited)な外部ツールを活用できる -
AIアプリケーション・ユーザーにとってのメリット Copyright © 2025, Oracle and/or its affiliates 19 MCP対応
AIアプリケーション • AIアシスタント • IDE • AIエージェント MCP サーバー MCP サーバー MCP サーバー データソース データソース 外部 サービス MCP プロトコル Web API MCP対応AIアプリケーションを導入すれば、様々 (Virtually Unlimited)な外部ツールを活用できる (サービス固有の API を知らなくて良い) -
今日使っている MCP ホスト(クライアント)ー Claude Desktop Copyright © 2025, Oracle and/or
its affiliates 20 自己紹介してもらいました Anthropic 社のAIアシスタントアプリケーション -
非公式な実験的な実装 22 Copyright © 2025, Oracle and/or its affiliates Oracle
Database MCP サーバー MCPが便利そうなので Oracle DB とおしゃべりする MCP サーバーを作ってみた(SELECT AI対応:2025/5/3 更新) https://qiita.com/yuji-arakawa/items/64aad551c810b41ed49d -
今日の構成 Copyright © 2025, Oracle and/or its affiliates 23 MCPホスト
Claude Desktop MCP クライアント Oracle Database MCP サーバー (仮) MCP プロトコル Autonomous Database Oracle Net プロトコル • MCP SDK • 言語 • Oracle Driver 公式 MCP Python SDK (FastMCPクラス)Ver. 1.6.0 Python 3.13.2 python-oracledbドライバ 3.1.0 MCP サーバーの技術スタック 23ai Stdio transport ローカルPC インターネット OCI -
Oracle Database MCP サーバー(仮)が提供する3つのツール Copyright © 2025, Oracle and/or its
affiliates 24 list_tables describe_table execute_oracle ユーザースキーマのテーブルの一覧を取得 (オプションで他のユーザーが所有するテーブルの一覧も取得可) テーブルとビューのカラムの一覧を取得 SELECT 文と一部の PL/SQL ブロックを実行 (DDLとINSERT/UPDATE/DELETEの実行はできません) 今回の実験的な実装の仕 様です。MCPなどの制約で はありません。 -
MCP サーバーの作りかた – Python MCP SDK 編 Copyright © 2025,
Oracle and/or its affiliates 25 from mcp.server.fastmcp import FastMCP mcp = FastMCP("Echo Server") @mcp.tool() def echo(text: str) -> str: """Echo the input text""" return text MCPサーバーの初期化 MCPサーバーへツールを登録 デコレーター tool() を適用した関数(ここでは、 echo)を MCP サーバーへ登録 以下の情報が MCP クライアントから利用可能になる • 関数名(ツール名となる) • 関数の引数情報(名前、型) • 関数の戻り値の型 • 関数の説明(関数のドックストリング、もしくは、 @tool(description: str)で指定された文 字列) https://github.com/modelcontextprotocol/python-sdk/blob/main/examples/fastmcp/simple_echo.py LLMは、この関数の説明を元にツールを 選択する -
list_tables ツール 26 Copyright © 2025, Oracle and/or its affiliates
“どんなテーブルがありますか?“ -
list_tables ツール 27 Copyright © 2025, Oracle and/or its affiliates
“どんなテーブルがありますか?“ -
list_tables ツール 28 Copyright © 2025, Oracle and/or its affiliates
“どんなテーブルがありますか?“ -
list_tables ツール 30 Copyright © 2025, Oracle and/or its affiliates
“他のスキーマのテーブル?“ LLM が必要なパラメータを設定してくれる -
execute_oracle ツール 31 Copyright © 2025, Oracle and/or its affiliates
“集計“ LLM が SQL を 生成してくれる -
Select AI with RAG 32 Copyright © 2025, Oracle and/or
its affiliates -
質問までのステップ 33 Copyright © 2025, Oracle and/or its affiliates Autonomous
Database をプロビジョニングしたら 5分で RAG AI プロファイルを作成 ベクトルインデックスを作成 セッションに AI プロファイルを設定 質問する RAG の環境構築 RAG の利用 -
ベクトル・ストアとインデックスの作成・更新を自動化 34 Copyright © 2025, Oracle and/or its affiliates RAG
の環境構築 埋め込み モデル ベクトル・ストア Object Storage 1. データの取り込み 2. テキスト抽出とチャンキング 3. ベクトル化 4. ベクトル・ストアに格納、 ベクトル索引を作成 DBMS_CLOUD_AI.CREATE_VECTOR_INDEX プロシージャ 5. 一定間隔でベクトルストア、 ベクトル索引を更新 Autonomous Database AIプロバイダ (openai,cohere,azure,database,oci, google,anthropic,huggingface) -
AI プロファイルとベクトル索引の作成 35 Copyright © 2025, Oracle and/or its affiliates
RAG の環境構築 BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => ‘RAG_PROFILE', attributes => '{"provider": "oci", "credential_name": "OCI$RESOURCE_PRINCIPAL", "embedding_model": "cohere.embed-multilingual-v3.0" }’, "model": "cohere.command-a-03-2025", "vector_index_name": “MY_INDEX" ); END; 埋め込みモデル(ベクトルを生成する生成AIモデル) AIプロファイルの作成 BEGIN DBMS_CLOUD_AI.CREATE_VECTOR_INDEX( index_name => 'MY_INDEX', attributes => '{"vector_db_provider": "oracle", "location": "https:.../my_namespace/my_bucket/my_data_folder", "object_storage_credential_name": "OCI$RESOURCE_PRINCIPAL", "profile_name": “RAG_PROFILE", "vector_dimension": 1024, "vector_distance_metric": "cosine", "chunk_overlap":25, "chunk_size":250, "refresh_rate": 60}'); END; ベクトル索引と RAGパイプラインの作成 回答生成モデル(LLM) 登録するドキュメントがあるオブジェクトストレージバケット チャンキングパラメータ -
オブジェクトストレージのバケット内のサポートされるフォーマットのすべてのドキュメントがデータソースとなる 36 Copyright © 2025, Oracle and/or its affiliates RAG
のデータソース Select AI / DBMS_CLOUD_AI パッケージ関連のドキュメント RAG / 埋め込み関連の 私のブログ記事 -
Select AI の Narrate アクションで問い合わせ・回答生成 37 Copyright © 2025, Oracle
and/or its affiliates RAG の利用 埋め込み モデル ベクトル・ストア ‘narrate’を使用して質問 ユーザー テキスト生成 モデル AIプロバイダ AIプロバイダ Autonomous Database SELECT AI narrate 生成AIとは? 1. 質問 2. 質問文のベクトル化 3. ベクトル検索 4. 回答生成 -
セッションに AI プロファイルを設定して、SELECT AI narrate 38 Copyright © 2025, Oracle
and/or its affiliates RAG の利用 EXEC DBMS_CLOUD_AI.SET_PROFILE(‘AIプロファイル名') ORA-00923: FROMキーワードが指定の位置にありません。 https://docs.oracle.com/error-help/db/ora-00923/ AIプロファイルの設定 SELECT AI narrate 生成AIとは? 質問 ※AIプロファイルの設定を忘れると 生成AIは、テキスト、画像、音声などのコンテン ツを生成する人工知能です。この技術は、大 規模な言語モデル(LLM)や画像生成モデ ルなど、さまざまな形式で実現されています。 生成AIは、ユーザーからの入力に基づいてコン テンツを生成する能力を持ち、自然言語処理 (NLP)やコンピュータービジョンなどの分野で 活用されています。 Sources: - GenAIwithEmbeddings.txt (https://orasejapan.objectstorage.ap-tokyo- 1.oci.customer-oci.com/n/orasejapan/b/devday25- arakawa-bucket/o/GenAIwithEmbeddings.txt) - GenAIwithRAG-2.txt (https://orasejapan.objectstorage.ap-tokyo- 1.oci.customer-oci.com/n/orasejapan/b/devday25- arakawa-bucket/o/GenAIwithRAG-2.txt) - GenAIwithRAG.txt (https://orasejapan.objectstorage.ap-tokyo- 1.oci.customer-oci.com/n/orasejapan/b/devday25- arakawa-bucket/o/GenAIwithRAG.txt) -
MCP で Select AI with RAG 39 Copyright © 2025,
Oracle and/or its affiliates https://claude.ai/share/ce90dcc0-55fe-49c7-ad58-8a79ff12254b -
execute_oracleツール 41 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” 利用可能な AI プロファイルを探している -
execute_oracleツール 42 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” 利用可能な AI プロファイルを探している “RAG_PROFILE” を見つけた! -
execute_oracleツール 43 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” セッションの AI Profile として 先程見つけた “RAG_PROFILE” を設定している -
execute_oracleツール 44 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” SELECT AI with RAG で 質問をしている -
execute_oracleツール 45 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” SELECT AI with RAG で 生成された回答 -
execute_oracleツール 46 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” さらに詳細な質問をしている 観点を変えて質問をしている 観点を変えて質問をしている -
execute_oracleツール 47 Copyright © 2025, Oracle and/or its affiliates “RAG
を使って調べて” 複数の質問を繰り返して 情報が揃ったところで 最終回答をまとめている -
MCP で 深堀り Select AI with RAG の裏側を MCP で探索
48 Copyright © 2025, Oracle and/or its affiliates -
ところで、この RAG のドキュメントはどこに格納されているのだろう? Copyright © 2025, Oracle and/or its affiliates
49 先程、AI Profile に “RAG_PROFILE” を設定 していた どんなプロファイルだったっけ? -
execute_oracleツール 50 Copyright © 2025, Oracle and/or its affiliates “AI
Profile の属性の調べ方をRAGで聞いて” -
execute_oracleツール 51 Copyright © 2025, Oracle and/or its affiliates “ビューで
RAG_PROFILE の属性を調べて” ベクトル索引名は “My_INDEX” でしたね -
execute_oracleツール 52 Copyright © 2025, Oracle and/or its affiliates “MY_INDEX
が設定されているテーブルは?” “My_INDEX$VECTAB”というテーブルが 自動的に作られていました ※ベクトル索引作成時に指定することもできます -
execute_oracleツール 54 Copyright © 2025, Oracle and/or its affiliates RAG
の “R” ではどんな SQL が使われているの? このテーブルどんなSQLで 検索しているのかな? -
execute_oracleツール 55 Copyright © 2025, Oracle and/or its affiliates “SELECT
AI SHOWSQL 埋め込みモデルとは何ですか?” Select AI with RAG はdefaultで上位5件を取得しているん ですね(ベクトル索引作成時に変更できます) ドキュメントで公開されていないアクションが! -
execute_oracleツール 56 Copyright © 2025, Oracle and/or its affiliates RAG
の “R” だけ実行してみたい この Select 文を実行してみたい -
execute_oracleツール 57 Copyright © 2025, Oracle and/or its affiliates “SELECT
AI RUNSQL 埋め込みモデルとは何ですか?” データベースからは SQL の実行結果だけが 返されている(RAG の “R” だけ実行) -
execute_oracleツール 58 Copyright © 2025, Oracle and/or its affiliates “SELECT
AI RUNSQL 埋め込みモデルとは何ですか?” データベースからは SQL の実行結果だけが 返されている(RAG の “R” だけ実行) 頼んでいないが MCP ホストである Claude Desktop が回答生成してくれている -
LLM と 会話できるアクション 60 Copyright © 2025, Oracle and/or its
affiliates SELECT AI CHAT コンテキストがないので情報が古い (RAG の “R” をしていない) -
回答生成のプロンプトを自分で設定できる 61 Copyright © 2025, Oracle and/or its affiliates SELECT
AI RUNSQL + SELECT AI CHAT 質 問 答えは XXです! + コンテキスト コンテキ ストを 踏まえて 質問に 答えて 大規模言語モデル:LLM ここをカスタマイズできる! • 独自のガードレール(“医療、法律、または金融に関する助言を求められた場合は、AIアシスタントと しての制限を再確認し、適切な専門家に相談するようユーザーに指示します....”など) • LLM に合わせたプロンプト この図を おぼえていま すか? SELECT AI RUNSQL などからコンテキストを取得・補完 -
外部ツールを呼ぶのは難しい Copyright © 2025, Oracle and/or its affiliates 62 この図を
おぼえていま すか? 自然言語による 質問や指示に 相応しいツール を適切なタイミン グで呼び出すこ とは従来のプロ グラミング言語で は難しい -
OCI Generative AI Agents Platform 63 Copyright © 2025, Oracle
and/or its affiliates -
AIエージェントのローコード開発サービス 64 Copyright © 2025, Oracle and/or its affiliates OCI
Generative AI Agents Platform • エージェントがツールの選択、実行順序を自律的 に計画し、実行して目的を達成する • 3つのツールタイプ • RAG ツール • 文書検索 • Autonomous Database、Base Database、 OpenSearch、Object Storage • SQL ツール • 自然言語からSQLクエリへの変換 • SQL の実行 • Autonomous Database、Base • カスタムツール • 外部サービスとの連携プログラムへの連携 • OCI SDKで必要な処理をコーディング Agent Tools RAG SQL Custom Vector DB RDB 例) • インターネット検索 • OCIのサービス連 携 • ツールを選択 • 実行順序の決定 • ツールの実行 ・・・ Generative AI Agents Platform -
Generative AI Agents Platform(ツール) Copyright © 2025, Oracle and/or its
affiliates 65 RAG ツール: データソースとして、オブジェクトストレージのバ ケット上のオブジェクト群を指定 カスタムツール(現在時刻): サービスには、ツールの説明とパラメータを指定。 ツールの実装はアプリケーションコード内。 カスタムツール(天気情報): サービスには、ツールの説明とパラメータを指定。 ツールの実装はアプリケーションコード内 SQL ツール : スキーマと接続先DBを定義。オプションで表と 列の説明や例を含めることができる。 SQL生成、SQL実行が可能 -
Generative AI Agents Platform(カスタムツール) Copyright © 2025, Oracle and/or its
affiliates 66 エージェントの応答から ツール起動の必要性を識別 エージェントが指定した ツールを起動 ツール実行結果を添えて、 エージェントに最終回答を 生成させる ツールの定義 ユーザーメッセージを添えて エージェントを呼び出す -
Generative AI Agents Platform(RAG + SQL + カスタムツール) Copyright ©
2025, Oracle and/or its affiliates 67 RAG Tool の応答を元に回答を生成 SQL Tool が生成した SQL カスタムツール “get_current_time” の 応答を元に回答を生成 カスタムツール “get_weather” の 応答を元に回答を生成 -
DIY で作る MCP ホスト(クライアント) 68 Copyright © 2025, Oracle and/or
its affiliates -
MCP公式SDKの mcp.client.stdio スクラッチ+ Claude 3.7 Sonnet Copyright © 2025, Oracle
and/or its affiliates 69 アーキテクチャと特徴 UI フレームワーク Gradio エージェントフレームワーク なし(ツールの呼び出しがなくなるま で繰り返し実行。上限25回のLLM 呼び出し) MCP統合 公式 MCP Python SDK LLM Anthropic Claude 3.7 Sonnet スクリーンショットの例では、以下の処理をMCPツールを使って全自動 で実行できている。 1. 利用可能な AI Profile の確認 2. AI Profile の設定 3. SELECT AI NARRATE を使った SQL 文の生成 4. SQL の実行 5. 回答生成 MCP 公式の MCP Simple Chatbot https://github.com/modelcontextprotocol/python-sdk/tree/main/examples/clients/simple-chatbot Gradio 公式 のガイド “Using the Gradio Chatbot as an MCP Client” https://www.gradio.app/guides/building-an-mcp-client-with-gradio 参考情報 -
LangGraph Prebuild Agent + Claude 3.7 Sonnet Copyright © 2025,
Oracle and/or its affiliates 70 アーキテクチャと特徴 UI フレームワーク Gradio エージェントフレームワーク LangGraph Prebuild Agent MCP統合 LangChain MCP Adapter LLM Anthropic Claude 3.7 Sonnet LangChain 公式の LangChain MCP Adapter https://github.com/langchain-ai/langchain-mcp-adapters LangChain 公式 のLangGraph Prebuild Agent https://langchain-ai.github.io/langgraph/reference/agents/ 参考情報 https://langchain-ai.github.io/langgraph/reference/agents/#langgraph.prebuilt.chat_agent_executor.create_react_agent tools = await load_mcp_tools(session) graph = create_react_agent( llm, tools=[tools], prompt=“あなたは親切なアシスタントです。", ) 本質的な部分はこれだけで実装できる LLM からの応答に ツールの起動指示がなくなるまで繰り返す (繰り返し回数のデフォルト上限は10回) -
LangGraph Prebuild Agent + Claude 3.7 Sonnet Copyright © 2025,
Oracle and/or its affiliates 71 アーキテクチャと特徴 UI フレームワーク Gradio エージェントフレームワーク LangGraph Prebuild Agent MCP統合 LangChain MCP Adapter LLM Anthropic Claude 3.7 Sonnet スクリーンショットの例では、以下の処理をMCPツールを使って全自動 で実行できている。 1. 利用可能な AI Profile の確認 2. AI Profile の設定 3. SELECT AI NARRATE を使った SQL 文の生成 4. SQL の実行 5. 回答生成 素朴に実装すると途中経過が見えない LangChain 公式の LangChain MCP Adapter https://github.com/langchain-ai/langchain-mcp-adapters LangChain 公式 のLangGraph Prebuild Agent https://langchain-ai.github.io/langgraph/reference/agents/ 参考情報 -
まとめ Copyright © 2025, Oracle and/or its affiliates 73 1.
生成AIの活用には、適切なコンテキスト(背景情報)をLLMに提供することが不可欠 2. MCP を使うとコンテキストの取得が楽になります • サービスプロバイダー(API)デベロッパーにとっても • AIアプリケーションデベロッパーにとっても • ユーザーにとっても 3. コンテキスト取得手段の代表は RAG(Retrieval-Augmented Generation) • Select AI with RAG を使えば簡単に RAG 環境を構築できます 4. RAG 以外のツールからコンテキストを取得したいこともあります • Generative AI Agents サービスのカスタムツールが利用できます