使用说明

项目简介

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服务器。

安装步骤

  1. 确保已安装Python 3.10或更高版本。
  2. 使用pip安装 'agent-mcp-toolkit':
    pip install agent-mcp-toolkit
    或者从源代码安装:
    git 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和传输协议类型。

基本使用方法

  1. 创建并启动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}")
  2. 向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℃"
        """
    )
  3. 创建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服务器
  4. 使用MCP客户端调用服务器工具 (在Agent框架内):

    result = await client_service.call_tool("default", "weather", city="New York")
    print(f"Tool Call Result: {result}")
  5. 将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'。

信息

分类

开发者工具