项目简介
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服务器的脚本。
基本使用方法
- 编写或使用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" - 运行Agentica MCP服务器:
在终端执行您的服务器脚本:
服务器将启动并监听连接。python my_mcp_server.py - 配置和运行MCP客户端: 使用支持MCP协议的LLM客户端(或其他MCP客户端),配置连接信息(参考上面的JSON配置示例),指向您刚刚启动的Agentica MCP服务器进程。 客户端连接成功后,即可发现并调用Agentica服务器暴露的工具。
信息
分类
AI与计算