A protocol that lets AI agents call any native endpoint, over any channel - directly and without wrappers
The Universal Tool Calling Protocol (UTCP) is an open standard, as an alternative to the MCP, that describes how to call existing tools rather than proxying those calls through a new server. After discovery, the agent speaks directly to the tool’s native endpoint (HTTP, gRPC, WebSocket, CLI, …), eliminating the “wrapper tax,” reducing latency, and letting you keep your existing auth, billing and security in place.
-
📚 Read the Documentation and RFC for specs, examples and best practices
-
🤖 Try the UTCP Agent to prototype the protocol
-
🔌 MCP users: Run the UTCP–MCP Bridge to connect to +230 tools with only one MCP server →
utcp-mcp
Repository | Description | Stars |
---|---|---|
utcp-specification |
Formal spec, RFC and reference docs | |
utcp-mcp |
MCP server that lets you connect to any native endpoint, powered by UTCP | |
python-utcp |
Python SDK | |
typescript-utcp |
TypeScript SDK | |
go-utcp |
Go SDK |
We welcome issues, pull requests and design discussion. If you’d like to add support for another language, tool or framework, open a discussion first so we can align on the design!
UTCP is an open‑source project released under the MPL‑2.0 license and maintained by a growing community of AI‑tooling enthusiasts. If your organization relies on direct, low‑latency access to existing API, or if you simply dislike writing wrappers, we’d love to have you involved!
If humans can interact with an API, AI should be able to do the same with no change in the API and the same security guarantees.
- No wrapper tax: UTCP must be able to call any tool without requiring any changes to the tool itself or the infrastructure required to call it.
- No security tax: UTCP must be able to call any tool while guaranteeing the same security as if the tool was called by a human.
- Scalable: UTCP must be able to handle a large number of tools and calls.
- Simple: UTCP must be simple to implement and use.