LangGraph : Prebuilt エージェント : MCP 統合

モデルコンテキスト・プロトコル (MCP) は、アプリケーションが言語モデルにツールとコンテキストを提供する方法を標準化するオープン・プロトコルです。LangGraph エージェントは langchain-mcp-adapters ライブラリを通して MCP サーバ上で定義されたツールを使用できます。

LangGraph : Prebuilt エージェント : MCP 統合

作成 : クラスキャット・セールスインフォメーション
作成日時 : 06/12/2025

* 本記事は langchain-ai.github.io の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

LangGraph : Get started : Prebuilt エージェント : MCP 統合

モデルコンテキスト・プロトコル (MCP) は、アプリケーションが言語モデルにツールとコンテキストを提供する方法を標準化するオープン・プロトコルです。LangGraph エージェントは、langchain-mcp-adapters ライブラリを通して MCP サーバ上で定義されたツールを使用できます。

LangGraph で MCP ツールを使用するために langchain-mcp-adapters ライブラリをインストールします :

pip install langchain-mcp-adapters

 

MCP ツールの使用

langchain-mcp-adapters パッケージはエージェントが一つ以上の MCP サーバで定義されたツールを使用することを可能にします。

Agent using tools defined on MCP servers

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

client = MultiServerMCPClient(
    {
        "math": {
            "command": "python",
            # Replace with absolute path to your math_server.py file
            "args": ["/path/to/math_server.py"],
            "transport": "stdio",
        },
        "weather": {
            # Ensure your start your weather server on port 8000
            "url": "http://localhost:8000/mcp",
            "transport": "streamable_http",
        }
    }
)
tools = await client.get_tools()
agent = create_react_agent(
    "anthropic:claude-3-7-sonnet-latest",
    tools
)
math_response = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "what's (3 + 5) x 12?"}]}
)
weather_response = await agent.ainvoke(
    {"messages": [{"role": "user", "content": "what is the weather in nyc?"}]}
)

 

カスタム MCP サーバ

独自の MCP サーバを作成するには、mcp ライブラリを使用できます。このライブラリはツールを定義してそれらをサーバとして実行する単純な方法を提供します。

MCP ライブラリをインストールします :

pip install mcp

以下のリファレンス実装を使用して、MCP ツールサーバでエージェントをテストできます。

Example Math Server (stdio transport)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Math")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

@mcp.tool()
def multiply(a: int, b: int) -> int:
    """Multiply two numbers"""
    return a * b

if __name__ == "__main__":
    mcp.run(transport="stdio")

Example Weather Server (Streamable HTTP transport)

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Weather")

@mcp.tool()
async def get_weather(location: str) -> str:
    """Get weather for location."""
    return "It's always sunny in New York"

if __name__ == "__main__":
    mcp.run(transport="streamable-http")

 

追加リソース

  • MCP ドキュメント

  • MCP Transport ドキュメント

     

    以上