使用说明
项目简介
Agent MCP Toolkit是一个Python工具库,用于帮助开发者在Agent框架中更方便地使用和管理MCP(模型上下文协议)服务器。它提供了一系列工具,允许Agent创建、启动和停止MCP服务器,动态注册工具、资源和Prompt,并支持客户端连接和工具调用等功能。该工具包旨在降低Agent与MCP服务器集成的复杂性,提升开发效率。
主要功能点
- MCP服务器管理:支持Agent框架内创建、启动和停止MCP服务器,无需手动部署和管理。
- 动态注册能力:允许动态地向MCP服务器注册自定义工具、资源和Prompt,扩展服务器功能。
- Agent工具转换:将MCP工具转换为Agent框架(如LangChain)可直接使用的工具,实现无缝集成。
- 客户端连接:提供客户端工具,允许Agent连接到远程MCP服务器并调用其功能。
- 多服务器支持:支持Agent同时与多个MCP服务器交互,扩展应用能力。
- LangChain/LangGraph 集成:深度集成LangChain和LangGraph,方便在LangChain生态中使用MCP服务器。
安装步骤
- 确保已安装Python 3.10或更高版本。
- 使用pip安装 'agent-mcp-toolkit':
或者从源代码安装:pip install agent-mcp-toolkitgit clone https://github.com/acnet-ai/agent-mcp-toolkit.git cd agent-mcp-toolkit pip install -e .
服务器配置
由于 'agent-mcp-toolkit' 本身不是MCP服务器,而是用于管理和交互MCP服务器的工具库,因此 不需要配置MCP服务器的启动命令和参数。
MCP客户端需要连接到实际运行的MCP服务器,配置客户端连接时,需要提供MCP服务器的URL和传输协议类型。
基本使用方法
-
创建并启动MCP服务器 (在Agent框架内):
from langchain_mcp_toolkit import MCPToolkit toolkit = MCPToolkit(mode="server") # 创建服务器模式工具包 server_service = toolkit.get_server_service() await server_service.start(name="MyToolServer", port=8000) # 启动MCP服务器 server_url = await server_service.get_url() # 获取服务器URL print(f"MCP Server URL: {server_url}") -
向MCP服务器注册工具 (在Agent框架内):
await server_service.add_tool( name="weather", description="获取城市天气信息", code="""def get_weather(city: str) -> str: return f"The weather in {city} is sunny, temperature 25℃" """ ) -
创建MCP客户端并连接到服务器 (在Agent框架内):
client_toolkit = MCPToolkit(mode="client") # 创建客户端模式工具包 client_service = client_toolkit.get_client_service() await client_service.create(server_url, "sse") # 创建客户端连接 await client_service.connect() # 连接到MCP服务器 -
使用MCP客户端调用服务器工具 (在Agent框架内):
result = await client_service.call_tool("default", "weather", city="New York") print(f"Tool Call Result: {result}") -
将MCP工具集成到LangChain Agent (在Agent框架内):
from langchain.agents import initialize_agent, AgentType from langchain.chat_models import ChatOpenAI langchain_tools = toolkit.get_tools() # 获取集成了MCP工具的LangChain工具列表 llm = ChatOpenAI() agent = initialize_agent( langchain_tools, llm, agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION, verbose=True ) response = agent.run("Create a weather query tool and check the weather in London") print(response)
注意: 'agent-mcp-toolkit' 依赖于 'mcp-python-sdk' 库来实现MCP协议的客户端和服务端功能。使用前请确保已正确安装 'mcp-python-sdk'。
信息
分类
开发者工具