Draft:Universal Tool Calling Protocol
Submission declined on 10 July 2025 by Pythoncoder (talk).
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
| ![]() |
Website | utcp |
---|
The Universal Tool Calling Protocol (UTCP) is an open standard and open‑source specification that describes how software agents—particularly large language model (LLM) agents—can discover and invoke external tools such as REST or gRPC APIs, command‑line interfaces and streaming endpoints.[1] In contrast to proxy‑based approaches like the Model Context Protocol (MCP), UTCP treats the specification as a manual: after discovery, the client communicates with the tool’s native endpoint directly rather than through a mandatory middleware layer.[2]
Background
[edit]Formalised in early 2025, UTCP emerged in response to rising enthusiasm for "tool‑calling" in LLM applications. Early ad‑hoc function‑calling APIs (e.g. OpenAI 2023) and later, proxy‑centric protocols such as MCP, required each tool to be wrapped behind bespoke gateway code; implementers dubbed the accumulated complexity the "wrapper tax".[1] UTCP’s authors proposed that most of the tax could be eliminated if the protocol limited itself to describing how to call a tool.
A draft specification (v0.1) and reference libraries in Python and TypeScript were published on GitHub in May 2025 under the Mozilla Public License 2.0.[3]
Design
[edit]UTCP models a system in three parts:[4]
- Manuals – JSON (or YAML) documents that enumerate one or more Tools together with JSON Schema‑defined input and output contracts.
- Tools – individual operations that can be executed. A tool entry specifies its name, natural‑language description, input schema, output schema and a pointer to its native endpoint.
- Providers – transport descriptors that tell the client how to reach the endpoint. The reference spec defines provider sub‑types including HTTP, WebSocket, gRPC, GraphQL, CLI, TCP/UDP and WebRTC.
The manual is typically served at a well‑known discovery URL (conventionally /utcp
). Because the provider entry includes full authentication details (API key, OAuth 2.0 scopes, etc.), the client is able to call the tool without any further mediation.
Security model
[edit]The specification recommends TLS for all network transports and details common pitfalls such as credential leakage or command‑injection when exposing CLI tools.[5] Implementations are expected to enforce input validation against the declared JSON Schema and to support audit logging and rate‑limiting.
Relationship to MCP
[edit]Whereas MCP positions an MCP server as a universal adapter sitting between agent and tool, UTCP argues for a single‑hop architecture. The maintainers claim that the approach reduces end‑to‑end latency and allows organisations to "leverage existing infrastructure for auth, billing and compliance" without writing wrapper services.[2]
Implementation
[edit]Reference clients are provided for Python JavaScript/TypeScript. The Python client, for example, can register a manual provider and call a tool in fewer than ten lines of code:[6]
client = await UtcpClient.create()
manual\_provider = HttpProvider(
name="weather\_service",
provider\_type="http",
url="https://example.com/utcp",
http\_method="GET"
)
await client.register\_manual\_provider(manual\_provider)
result = await client.call\_tool("weather\_service.get\_weather", arguments={"location": "Berlin"})
See also
[edit]References
[edit]- ^ a b "Universal Tool Calling Protocol – Overview". utcp.io. Retrieved 9 July 2025.
- ^ a b "UTCP vs MCP". utcp.io. Retrieved 9 July 2025.
- ^ "UTCP Specification repository". GitHub. Retrieved 9 July 2025.
- ^ "Introduction to UTCP". utcp.io. Retrieved 9 July 2025.
- ^ "Security Considerations". utcp.io. Retrieved 9 July 2025.
- ^ "Implementation Guide". utcp.io. Retrieved 9 July 2025.
- Promotional tone, editorializing and other words to watch
- Vague, generic, and speculative statements extrapolated from similar subjects
- Essay-like writing
- Hallucinations (plausible-sounding, but false information) and non-existent references
- Close paraphrasing
Please address these issues. The best way is usually to read reliable sources and summarize them, instead of using a large language model. See our help page on large language models.