
UTCP
UTCP(通用工具调用协议)是一种开放标准协议,使 AI 代理能够直接调用不同通信协议中的任何原生 API 端点,而无需中间件或包装器服务器。
https://github.com/universal-tool-calling-protocol?ref=producthunt&utm_source=aipure

产品信息
更新于:2025年09月01日
什么是 UTCP
通用工具调用协议 (UTCP) 是一种现代、灵活且可扩展的标准,它作为 MCP(模型上下文协议)的替代方案而开发,用于定义和跨各种通信协议与工具进行交互。它代表了 AI 代理与外部工具和服务交互方式的范式转变,它消除了对包装器服务器的需求,并允许通过其原生端点与工具进行直接通信。UTCP 构建在简单、定义明确的 Pydantic 模型之上,并遵循核心原则,确保可以在不进行修改的情况下调用工具,同时保持现有的安全保证。
UTCP 的主要功能
UTCP(通用工具调用协议)是一种开放标准协议,使 AI 代理能够直接调用现有工具和 API,而无需中间件或包装服务器。它支持多种通信协议(HTTP、WebSocket、gRPC、CLI),提供内置身份验证,并维护现有的安全基础设施,同时通过直接工具调用减少延迟。该协议使用简单的 JSON 清单来定义工具接口,并且可以在不同的编程语言(包括 Python、TypeScript 和 Go)中实现。
直接工具访问: 允许 AI 代理通过其原生端点直接调用工具和 API,而无需包装服务器或额外的中间件
多协议支持: 内置支持各种通信协议,包括 HTTP、WebSocket、gRPC、CLI 和服务器发送事件
简单配置: 使用简单的 JSON 清单来定义工具接口,并支持通过环境变量或 .env 文件进行变量替换
安全集成: 维护现有的身份验证和安全基础设施,同时为各种身份验证方法提供内置支持
UTCP 的使用场景
AI 代理集成: 使 AI 代理能够直接与现有工具和服务交互,同时保持安全并减少延迟
API 管理: 简化跨不同协议的多个 API 的管理和集成,而无需额外的基础设施
遗留系统集成: 将现代 AI 系统与现有工具和服务连接,而无需修改底层基础设施
跨平台工具调用: 使用一致的协议标准化跨不同平台和编程语言的工具调用
优点
消除包装开销并通过直接工具调用减少延迟
无需更改现有工具或基础设施
维护现有的安全保证和身份验证方法
缺点
仅限于具有明确定义的 API 的工具
相对较新的协议,生态系统正在开发中
对于复杂的集成场景,可能需要额外的配置
如何使用 UTCP
安装 UTCP 软件包: 使用 pip 安装核心 UTCP 库和所需的协议插件:'pip install utcp utcp-http utcp-cli'
创建配置文件: 创建一个 .utcp_config.json 文件来定义您的工具提供程序和配置设置,例如身份验证、手动调用模板等。
初始化 UTCP 客户端: 使用 UtcpClient.create() 在您的代码中创建一个 UTCP 客户端实例,并传递您的配置
注册工具提供程序: 注册工具提供程序/手册,以定义您要使用的工具,可以通过配置文件或使用 client.register_manual_provider() 以编程方式进行注册
发现可用工具: 使用客户端的发现功能从注册的提供程序查询可用工具
调用工具: 通过指定工具名称和所需的参数,使用 client.call_tool() 调用工具。工具通过其原生端点直接调用
处理响应: 处理调用返回的工具响应,这些响应保持来自原生端点的原始响应格式
可选:添加自定义插件: 如果需要,可以添加自定义协议插件,以扩展 HTTP/CLI 之外的其他通信协议的功能
UTCP 常见问题
UTCP(通用工具调用协议)是一个开放标准,允许 AI 代理直接调用任何 API,而无需额外的中间件。它描述了如何调用现有工具,而不是通过新服务器代理这些调用,从而允许代理直接与工具的本机端点(HTTP、gRPC、WebSocket、CLI 等)通信。