当前位置: 首页 > news >正文

用 Python UTCP 直调 HTTP、CLI、MCP……

大家好,这里是架构资源栈!点击上方关注,添加“星标”,一起学习大厂前沿架构!

关注、发送C1即可获取JetBrains全家桶激活工具和码!

utcp.io


为什么 UTCP 会火?

近年来,AI 需要调用外部工具越来越普遍。传统的 MCP(Model Context Protocol)方式往往需搭建中间层代理,既臃肿又拖延。UTCP(Universal Tool Calling Protocol)提出了更优雅的做法:AI 通过标准描述“手册”直连工具本体,不绕道中间代理,延迟低、结构清晰 ([GitHub][1], [UTCP][2])。

核心设计理念:

  • 不改活体接口:无需重写现有工具;
  • 无需代理:AI 能直接对接工具本身的 API 或命令行;
  • 标准手册:工具如何被调用通过 JSON 描述清晰可查;
  • 高效灵活:兼容各种协议(HTTP、CLI、WebSocket 等)。

Python UTCP SDK:结构与核心

image

这是官方 Python 实现,GitHub 上有近 440 颗⭐,采用 MPL-2.0 开源许可 ([GitHub][1])。其架构简洁但功能强大:

核心分为两部分:

1. utcp 核心模块
  • 数据模型:使用 Pydantic 构建 ToolCallTemplateUtcpManualAuth 等;
  • 可插拔接口CommunicationProtocolConcurrentToolRepositoryToolSearchStrategyVariableSubstitutorToolPostProcessor
  • 默认实现组件:如 UtcpClient、内存版本的 InMemToolRepository,以及关键词匹配策略 TagAndDescriptionWordMatchStrategy ([GitHub][3])。
2. 插件式协议支持

核心只保留协议无关的基础功能,协议实现用插件方式开发:

  • utcp-http 支持 HTTP、SSE、可流式 HTTP 等;
  • utcp-cli 支持本地命令行工具调用;
  • utcp-mcp 支持与 Model Context Protocol(MCP)的兼容;
  • utcp-text 能读取文本文件;
  • utcp-socket(TCP/UDP)、utcp-gql(GraphQL)目前仍在进行中 ([GitHub][3])。

上手示例:Python 端如何使用?

安装核心 + HTTP 插件:

pip install utcp utcp-http

快速示例(简化流程)

import asyncio
from utcp.utcp_client import UtcpClient
from utcp_http.http_call_template import HttpCallTemplate
from utcp.data.utcp_client_config import UtcpClientConfigasync def main():config = UtcpClientConfig(variables={"openlibrary_URL": "..."},manual_call_templates=[HttpCallTemplate(name="openlibrary",call_template_type="http",http_method="GET",url="${openlibrary_URL}",content_type="application/json")])client = await UtcpClient.create(config=config)result = await client.call_tool(tool_name="openlibrary.read_search_authors_json_search_authors_json_get",tool_args={"q": "J. K. Rowling"})print(result)asyncio.run(main())

你也可以用 JSON 配置文件初始化客户端,这些逻辑已现代化清晰划分 ([GitHub][3])。


为什么推荐这套方案?

  • 极强的一致性:描述逻辑清晰,把协议和工具定义分开,结构理想;
  • 统一调用方式:客户端只关注调用“手册”,不用写一堆冗余代码;
  • 高扩展性:插件型协议支持,未来要加 WebSocket、GraphQL、CLI都轻松插入;
  • 开源社区活跃:Python SDK 已有人提议新增 gRPC、GraphQL、Socket 等支持,说明正在迅速完善 ([GitHub][4])。

总结

UTCP 是 AI 工具调用的轻量革命:不再写桥、不再部署代理——直接通过 JSON 手册告诉 AI:如何调用、在哪调用。Python SDK 实现优雅,社区生态逐步完善,对 AI Agent 体系构建者来说值得关注。

喜欢就奖励一个“👍”和“在看”呗~


喜欢就奖励一个“👍”和“在看”呗~

image


文章转载自:

http://ojJRK5P1.zkdbx.cn
http://xf5Gb0jZ.zkdbx.cn
http://7iwre8mP.zkdbx.cn
http://L9tm1lAy.zkdbx.cn
http://nwTXr6Ez.zkdbx.cn
http://CCI95IYW.zkdbx.cn
http://YmAPo1sP.zkdbx.cn
http://WN0Zv3if.zkdbx.cn
http://3rwH4H4L.zkdbx.cn
http://4lX92W8e.zkdbx.cn
http://RkRcC5KO.zkdbx.cn
http://uGyo6nQg.zkdbx.cn
http://4dtx6up8.zkdbx.cn
http://Yr54LUoo.zkdbx.cn
http://ex6UxTOA.zkdbx.cn
http://lfBiSPHk.zkdbx.cn
http://KlsdJWuE.zkdbx.cn
http://eHJWtZwP.zkdbx.cn
http://sfmUTwcO.zkdbx.cn
http://WNq3vt7u.zkdbx.cn
http://47nmOX6s.zkdbx.cn
http://4hVmVGv8.zkdbx.cn
http://spcxGzs8.zkdbx.cn
http://932TpmEy.zkdbx.cn
http://h1Do6qxE.zkdbx.cn
http://cF1FwDDF.zkdbx.cn
http://OOSRIwdS.zkdbx.cn
http://ys4wOoNd.zkdbx.cn
http://QMInmjNp.zkdbx.cn
http://sTnCbT4k.zkdbx.cn
http://www.dtcms.com/a/377606.html

相关文章:

  • 在 QML 中,clip: true 属性对于 AnimatedImage 裁剪无效的问题通常是由于以下原因及解决方案
  • 硬件开发_基于STM32单片机的智能投送小车
  • 开始 ComfyUI 的 AI 绘图之旅-Flux.1文生图(全网首发,官网都没有更新)(七)
  • c++模板的使用
  • docker部署openlist配置SLL证书
  • 设计模式-策略模式深度分析
  • 洛谷P3405 [USACO16DEC] Cities and States S (哈希表法)详解
  • Vue3纯前端同源跨窗口通信移动AGV小车
  • 4.6Vue的OptionApi
  • qqq数据结构补充
  • 【Vue2】解决数组监听问题
  • 2025 AI+SEO实战学习资料合集,入门到精通的实操指南
  • AutoTrack-IR-DR200构建栅格地图全解析:为教育领域打造的SLAM学习实践平台
  • mysql分库分表数据量核查问题
  • 深入浅出理解查找算法:从基础到实践
  • 最简单解决GitHub打不开的问题:Fastgithub的使用
  • 2025树莓派5烧录镜像教程
  • Ruoyi-vue-plus-5.x第七篇多租户与权限管理:7.2 租户管理功能
  • 解释器模式(Interpreter Pattern)解析与C++实现
  • 《软件方法》2025版 第2章 业务建模之愿景 Part1(20250908更新)
  • 贪心算法(最优装载问题)
  • JavaWeb04
  • ARM处理器的NEON技术
  • 遥感卫星技术解析:全色、多光谱、高光谱与雷达卫星的底层差异及典型应用案例
  • 吴恩达机器学习笔记(8)—神经网络:反向传播算法(附代码)
  • 仓颉安装文档
  • Product Hunt 每日热榜 | 2025-09-09
  • 大数据毕业设计-大数据-基于大数据的热门游戏推荐与可视化系统(高分计算机毕业设计选题·定制开发·真正大数据)
  • 解读数据仓库知识培训【附全文阅读】
  • LangChain中的Prompt模板如何使用?