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.
-
🧠 NEW: Use Code Mode to run multi-step workflows with one TypeScript execution instead of dozens of tool calls
-
📚 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 | |
code-mode |
Run complex workflows in one shot using a TypeScript sandbox with UTCP + MCP tools | |
utcp-mcp |
MCP server that connects to any native endpoint via UTCP | |
python-utcp |
Python SDK | |
typescript-utcp |
TypeScript SDK | |
go-utcp |
Go SDK |
The following agent frameworks and projects have integrated UTCP for native tool calling:
| Project | Description | Stars |
|---|---|---|
go-agent |
Production-ready Go agent framework with graph-aware memory, UTCP-native tools, and multi-agent orchestration | |
langchain-utcp-adapters |
LangChain adapters for UTCP | |
pydantic-ai-utcp |
Pydantic AI integration for UTCP | |
strands-utcp |
Strands integration for UTCP | |
utcp-agent |
Ready-to-use agent that can interact directly with any tool or native endpoint in less than 5 lines of code | |
chat-utcp |
Web-based chat agent that leverages UTCP to call any existing API |
Building with UTCP? If you've integrated UTCP into your agent framework or project, open a PR to add it here!
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.
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!
Check out our Hall of Fame to see the amazing people building UTCP!
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!

