MCP-Useとは何ですか?
MCP-Use(Model Context Protocol Use)は、カスタムエージェントでMCPサーバーと簡単に対話するためのPythonライブラリです。LangChainを通じて様々なLLM(大規模言語モデル)プロバイダーと連携し、AIモデルがツールや外部データソースとシームレスに連携できるようにします。Pietro Zulloによって開発され、GitHubで公開されています。
MCP(Model Context Protocol)とは何ですか?
Model Context Protocol(MCP)は、LLMアプリケーションが外部データソースやツールと標準化されたインターフェースを通じて対話できるようにするプロトコルです。MCPは概念的にはWeb APIに似ていますが、特にLLMの対話用に設計されています。 このプロトコルにより、AIモデルは訓練データを超えた情報にアクセスしたり、外部機能を実行したりすることができます。
MCP-Useの主な特徴は何ですか?
MCP-Useの主な特徴は以下の通りです:
- LangChainを通じた複数のLLMプロバイダー(OpenAI、Anthropicなど)との連携
- カスタムエージェントの簡単な作成と管理
- MCPサーバーとの標準化された通信
- 非同期処理のサポート
- 設定ファイルによる柔軟なセットアップ
MCP-Useを使うために必要なものは何ですか?
MCP-Useを使用するには、以下が必要です:
1. ツール呼び出し機能(function calling/tool use)をサポートするLLMモデル
2. 選択したLLMプロバイダー用のLangChainパッケージ(例:langchain-openai、langchain-anthropic)
3. 使用するプロバイダーのAPIキー(.envファイルに設定)
4. MCPサーバーの設定(JSONファイルで指定)
MCP-Useの基本的な使い方を教えてください
以下は、MCP-Useを使った基本的な例です:
import asyncio
import os
from dotenv import load_dotenv
from langchain_anthropic import ChatAnthropic
from mcp_use import MCPAgent, MCPClient
async def run_example():
# 環境変数を読み込み
load_dotenv()
# MCPクライアントを設定ファイルから作成
client = MCPClient.from_config_file("config.json")
# LLMモデルを作成
llm = ChatAnthropic(model="claude-3-5-sonnet-20240620")
# エージェントを作成
agent = MCPAgent(llm=llm, client=client, max_steps=30)
try:
# クエリを実行
result = await agent.run(
"ウェブサイトから情報を取得して分析してください",
max_steps=30,
)
print(f"\n結果: {result}")
finally:
# リソースを適切にクリーンアップ
if client.sessions:
await client.close_all_sessions()
if __name__ == "__main__":
asyncio.run(run_example())
どのようなMCPサーバーと連携できますか?
MCP-Useは様々なMCPサーバーと連携できます。例えば:
– Playwrightを使用したウェブ自動化
– Deepwikiからのコンテンツ取得
– Figmaのレイアウト情報へのアクセス
– 時間やタイムゾーン変換機能
– ウェブスクレイピング機能(Firecrawl)
など、多数のMCPサーバーが存在します。
MCPサーバーの設定ファイルの例を教えてください
以下は、Playwrightを使用したMCPサーバーの設定ファイル例です:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"],
"env": {
"DISPLAY": ":1"
}
}
}
}
この設定ファイルでは、「playwright」というMCPサーバーを定義し、npxコマンドを使って@playwright/mcpパッケージを実行するように指定しています。
MCP-Useはどのような用途に適していますか?
MCP-Useは以下のような用途に適しています:
- AIアシスタントに外部データソースへのアクセスを提供
- ウェブ検索や情報収集の自動化
- ドキュメントやコードの分析
- 外部APIとの連携
- 複雑なタスクの自動化
- カスタムAIエージェントの開発
どこでMCP-Useについて詳しく学べますか?
MCP-Useについては、GitHub(https://github.com/pietrozullo/mcp-use)で詳細なドキュメントが提供されています。また、さまざまなMCPサーバーの情報については、mcp.so(https://mcp.so/server/mcp-use/pietrozullo)などのリソースを参照できます。
MCP-Useと他のAIライブラリの違いは何ですか?
MCP-Useの主な特徴は、標準化されたModel Context Protocolを通じて様々な外部ツールやデータソースにアクセスできる点です。LangChainなどの他のAIライブラリと組み合わせて使用することで、よりパワフルなAIアプリケーションを構築できます。特に外部ツールとの連携に焦点を当てている点が特徴的です。