使用说明
项目简介
Python A2A 是一个全面的 Python 库,旨在简化 Agent-to-Agent (A2A) 系统的构建,并深度集成了 Model Context Protocol (MCP)。该库的核心组件 'FastMCP' 允许开发者快速创建兼容 MCP 协议的服务器,以便为大型语言模型(LLM)驱动的智能体提供标准化的工具和数据访问接口。
主要功能点
- MCP 服务器实现: 提供 'FastMCP' 类,用于快速搭建 MCP 服务器,遵循 MCP 协议标准。
- 工具注册: 通过装饰器 '@mcp.tool()' 轻松注册 Python 函数作为 MCP 工具,并支持定义工具的名称、描述和参数。
- 资源管理: 使用 '@mcp.resource()' 装饰器注册资源,支持静态资源和 URI 模板资源,方便智能体访问外部数据。
- FastAPI 传输: 内置基于 FastAPI 的 HTTP 传输层,易于部署和扩展。
- 示例丰富: 提供详细的代码示例,展示如何创建 MCP 服务器、定义工具和资源,以及如何与 A2A 智能体集成。
安装步骤
-
确保已安装 Python 3.9 或更高版本。
-
安装 Python A2A 库,包含 MCP 支持的 extras 组件:
pip install "python-a2a[mcp]"或者安装包含所有可选依赖的完整版本:
pip install "python-a2a[all]"
服务器配置
MCP 服务器主要通过启动命令和参数进行配置。以下是一个基于 'examples/mcp/fastmcp_example.py' 示例生成的 MCP 客户端配置信息,用于连接一个简单的数学和实用工具 MCP 服务器:
{ "serverName": "MathUtilsMCP", // 自定义 MCP 服务器名称,用于客户端识别 "command": "python", // MCP 服务器的启动命令,这里使用 python 解释器 "args": [ // 启动参数列表 "-m", // 运行模块 "examples.mcp.fastmcp_example", // 指定要运行的 Python 模块为 fastmcp_example.py "--port", // 指定端口参数 "5000" // 设置服务器监听端口为 5000 ] }
基本使用方法
-
定义 MCP 服务器:
参考 'examples/mcp/fastmcp_example.py' 创建 Python 脚本,使用 'FastMCP' 类定义 MCP 服务器,并使用 '@mcp.tool()' 和 '@mcp.resource()' 装饰器注册工具和资源。 -
运行 MCP 服务器:
在命令行中执行 Python 脚本,启动 MCP 服务器。例如,运行 'examples/mcp/fastmcp_example.py' 示例:python examples/mcp/fastmcp_example.py --port 5000 -
MCP 客户端连接:
MCP 客户端(例如,基于 Python A2A 库构建的 MCPClient)可以使用服务器配置信息连接到运行中的 MCP 服务器,并调用已注册的工具或访问资源。from python_a2a.mcp import MCPClient import asyncio async def main(): client = MCPClient("http://localhost:5000") # 假设服务器运行在本地 5000 端口 # 获取可用工具列表 tools = await client.get_tools() print("Available tools:", [tool['name'] for tool in tools]) # 调用名为 "add" 的工具 result = await client.call_tool("add", a=5, b=3) print("Tool 'add' result:", result) if __name__ == "__main__": asyncio.run(main())
通过以上步骤,您可以快速搭建和使用 Python A2A MCP 服务器,为您的 AI 智能体提供强大的扩展能力。
信息
分类
AI与计算