{"repo":"universal-tool-calling-protocol/go-utcp","free":true,"listed":false,"github":"https://github.com/universal-tool-calling-protocol/go-utcp","clone":"git clone https://github.com/universal-tool-calling-protocol/go-utcp.git","description":"Official Go implementation of the UTCP","language":"Go","stars":121,"topics":["golang","utcp","ai","ai-agent","ai-agent-tools","developer-tools","llm","mcp","model-context-protocol"],"license":"MPL-2.0","category":"mcp-servers","readme_excerpt":"go-utcp go-utcp is the Go implementation of the Universal Tool Calling Protocol (UTCP). It provides a single client-side abstraction for discovering, describing, searching, invoking, and streaming tools exposed through heterogeneous providers and transports. The project is designed for applications that need to connect an agent, service, workflow engine, or automation runtime to many kinds of tools without coupling application logic to every transport individually. Table of contents - What is UTCP? - Why go-utcp? - Core concepts - Features - Requirements - Installation - Quick start - Architecture - Providers - Provider configuration - Variables and secrets - Tool discovery - Searching tools - Calling tools - Streaming - Dynamic provider registration - Transport matrix - HTTP - OpenAPI - CLI - SSE - Streamable HTTP - WebSocket - gRPC - GraphQL - TCP - UDP - WebRTC - MCP - Text providers - CodeMode - Security - Error handling - Context cancellation - Testing - Examples - Development - Project layout - Performance - Troubleshooting - FAQ - Contributing - License What is UTCP? UTCP is a protocol and architectural approach for exposing tools to software that needs to call them. A tool has metadata describing what it does, how it should be called, and which provider exposes it. A client can discover that metadata and invoke the tool without needing to implement provider-specific business logic at every call site. The important idea is separation of concerns: 1. Providers expose ca","default_branch":null,"files":null,"tree":[],"storefront":"/r/universal-tool-calling-protocol","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/universal-tool-calling-protocol/go-utcp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}