项目简介

Agentica是一个用于构建智能AI Agent的框架,它提供了规划、记忆、工具使用、多模态处理、Agent编排等多种功能。此外,Agentica也包含了基于Model Context Protocol (MCP) 实现服务器组件的能力,允许其他LLM客户端通过MCP协议连接并调用Agentica中注册的工具和功能。

主要功能点 (MCP 服务器部分)

  • 工具托管与调用: 注册Agentica中定义的各种工具(如搜索、计算、文件操作等),并通过标准的MCP协议暴露给外部LLM客户端调用。
  • MCP协议支持: 实现MCP协议的服务器端逻辑,处理来自客户端的JSON-RPC请求。
  • 传输协议支持: 支持SSE (Server-Sent Events) 和 Stdio (标准输入输出) 两种MCP传输协议。
  • 集成Agent能力: 理论上可以将Agentica构建的复杂Agent或工作流通过MCP服务器暴露为工具。

安装步骤

Agentica MCP服务器功能是Agentica库的一部分。安装Agentica库即可获得相关能力:

pip install -U agentica

或者从源代码安装:

git clone https://github.com/shibing624/agentica.git
cd agentica
pip install .

请确保已安装'mcp'库,它是Agentica MCP实现的基础(通常安装Agentica时会包含)。

服务器配置 (供 MCP 客户端连接使用)

要连接到基于Agentica构建的MCP服务器,您的MCP客户端需要配置服务器的启动命令及参数。Agentica库本身提供了构建服务器的组件,而具体的服务器实例通常由用户编写的Python脚本启动。

以下是示例MCP客户端配置信息,用于连接运行'examples/42_mcp_sse_server.py'这个Agentica示例服务器脚本的实例(该示例服务器提供天气查询、数学计算等工具):

{
  "name": "Agentica SSE 示例服务器", // 服务器的友好名称
  "command": "python", // 启动服务器进程的命令
  "args": ["examples/42_mcp_sse_server.py"] // 启动服务器进程的参数,这里指向一个示例服务器脚本文件
  // 提示:
  // 1. 在运行您的MCP客户端之前,请确保已成功安装Agentica库及其依赖。
  // 2. command和args应该配置为您启动Agentica MCP服务器脚本的方式。
  // 3. 如果您使用其他脚本启动Agentica MCP服务器,请相应修改command和args。
  // 4. 您可能需要根据实际部署调整连接参数(例如,如果服务器运行在远程主机)。
}

对于Stdio协议的服务器,配置方式类似,command和args指向启动Stdio服务器的脚本。

基本使用方法

  1. 编写或使用Agentica MCP服务器脚本: 创建一个Python文件(例如 'my_mcp_server.py'),使用Agentica提供的MCP服务器类(如 'agentica.mcp.server.MCPServerStdio' 或 'agentica.mcp.server.MCPServerSse' 或集成 'FastMCP')定义和注册您希望暴露的工具,并启动服务器。您可以参考 'examples/42_mcp_sse_server.py' 进行修改。
    # 示例: my_mcp_server.py
    import requests
    from loguru import logger
    from mcp.server.fastmcp import FastMCP
    
    mcp = FastMCP("MyAgenticaServer", host="0.0.0.0", port=8081)
    
    @mcp.tool()
    def get_current_weather(city: str) -> str:
        """获取指定城市当前天气"""
        # ... 实现天气查询逻辑 ...
        return f"{city}天气晴朗"
    
    if __name__ == "__main__":
        logger.info("启动 Agentica MCP 服务器...")
        mcp.run(transport="sse") # 或 transport="stdio"
  2. 运行Agentica MCP服务器: 在终端执行您的服务器脚本:
    python my_mcp_server.py
    服务器将启动并监听连接。
  3. 配置和运行MCP客户端: 使用支持MCP协议的LLM客户端(或其他MCP客户端),配置连接信息(参考上面的JSON配置示例),指向您刚刚启动的Agentica MCP服务器进程。 客户端连接成功后,即可发现并调用Agentica服务器暴露的工具。

信息

分类

AI与计算