はじめに
シンプルさに定評のあるjust-agents
ですが、もちろんModel Context Protocol(MCP)サーバーを指定して外部ツールを利用することができます。
しかし、公式ドキュメントにはその方法についての明確な記述が見当たらないため、備忘録として簡単な指定方法を紹介します。
対象読者
-
just-agents
でMCPサーバーを指定したい方
概要
just-agents
では、エージェントが利用するツールを、エージェント作成時の引数tools
で指定します。
MCPサーバーを利用する場合、このtools
引数にMCPコンフィグを渡します。
MCPコンフィグの実体は、MCPサーバーの設定情報を引数にして作成したJustMCPServerParameters
クラスのインスタンスです。MCPサーバーの設定にはいくつかの形式がありますが、以下の例では最もシンプルなURL形式を用います。
実装例
本記事では、下記のQiita記事で紹介されているMCPサーバーを題材とします。
前提条件
-
uv
がインストールされていること - Gemini APIキーを取得していること
後述のMCPクライアントの実行前に、対象のMCPサーバーを起動しておいてください。
MCPクライアント (client.py
)
以下の内容をclient.py
として保存します。
from just_agents import llm_options
from just_agents.base_agent import BaseAgent
from just_agents.data_classes import JustMCPServerParameters
# MCPサーバーのURLを指定して、MCPコンフィグを作成
mcp_config = JustMCPServerParameters(
mcp_client_config='http://localhost:8000/mcp',
)
# BaseAgentのtools引数にMCPコンフィグをリスト形式で渡す
agent = BaseAgent(
llm_options=llm_options.GEMINI_2_5_FLASH,
tools=[mcp_config],
)
# エージェントに利用可能なツールを尋ねる
print(agent.query("使えるツールの一覧"))
実行
...
の部分を実際のGemini APIキーに置き換えて、以下のコマンドを実行してください。
GOOGLE_API_KEY=... uv run --with just-agents client.py
実行結果
利用可能なツールは以下の通りです。
* `hello_get(user: str)`: 挨拶を返します。`user`には相手の名前を指定します。
期待通り、MCPサーバー上で定義されているツールの一覧が取得できました。
MCPコンフィグ(JustMCPServerParameters
)のいろいろな作成方法については、公式リポジトリのサンプルコードも参照してください。
まとめ
本記事では、just-agents
でMCPサーバーを利用する方法を解説しました。
BaseAgent
のtools
引数にJustMCPServerParameters
を渡すだけで、サーバー上のツールが利用可能になります。