universal-tool-calling-protocol/python-utcp

Official python implementation of UTCP. UTCP is an open standard that lets AI agents call any API directly, without extra middleware.

解決的問題

UTCP 提供了一種標準化、安全且可擴展的方式,用於在不同通訊協定(如 HTTP、SSE、CLI 和 MCP)之間定義和互動工具。它消除了為每個新工具或服務撰寫自訂整合程式碼的需要,讓 AI 代理與應用程式能透過單一統一介面,與廣泛的外部 API、CLI 工具及其他協定進行互動。

工作原理

UTCP 採用模組化架構,由核心函式庫與一組可插入的協定外掛程式組成。核心函式庫負責處理工具發現、互動與搜尋等高階邏輯,而外掛程式則實作不同協定的具體通訊細節。

  • 核心套件:管理資料模型(使用 Pydantic)、工具互動用的 UtcpClient,以及外掛程式系統。
  • 協定外掛程式:實作特定通訊方式,例如 HTTP/REST、SSE、CLI、MCP(模型上下文協定)與本機文字檔。
  • 呼叫範本:使用「呼叫範本」定義工具,指定如何存取工具(例如 URL、HTTP 方法、CLI 命令)以及如何進行驗證。
  • UtcpManual:一個發現文件,描述可用工具、其輸入與輸出,讓客戶端能動態發現工具。

適用對象

開發 AI 代理、基於 LLM 的應用程式,以及需要跨多種通訊協定以可擴展方式整合多個外部工具與服務的系統開發者。

主要亮點

  • 多協定支援:開箱即用支援 HTTP、SSE、CLI 和 MCP,計畫支援 TCP/UDP 與 GraphQL。
  • 可插入架構:無需修改核心函式庫即可輕鬆新增新的通訊協定、工具儲存與搜尋策略。
  • 對稱發現:可透過 UtcpManual 提供工具,讓 UtcpClient 實現自動發現。
  • 預設安全:內建協定限制,防止危險的協定升級(例如,防止基於 HTTP 的手冊呼叫 CLI 工具)。
  • 彈性驗證:支援多種驗證方式,包括 API 金鑰、Basic Auth 與 OAuth2。

相關

  • 專案
  • 專案
  • 專案
  • 專案