A protocol that lets AI agents call any tool, over any channel—directly and without wrappers (unlike the MCP)
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 for specs, examples and best practices
- 📜 Read the RFC for the formal proposal,
- 🤖 **Play around with the UTCP-agent to prototype how the protocol works
- 💻 Start building with our SDKs:
Repository | Description | Stars |
---|---|---|
utcp-specification |
Formal spec, RFC and reference docs | |
python-utcp |
Python implementation | |
typescript-utcp |
TypeScript implementation | |
go-utcp |
Go implementation |
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 APIs—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.