You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Improve landing page, security, and UTCP vs MCP documentation
- Rewrite docs/index.md with better structure, clear value proposition, and navigation
- Enhance docs/security.md with comprehensive protocol-specific security guidance
- Improve docs/utcp-vs-mcp.md with technical depth, migration guidance, and decision framework
- Add language specification notes consistently across documentation
- Include practical examples and cross-references throughout
The Universal Tool Calling Protocol (UTCP) is a lightweight, secure, and scalable standard for defining and interacting with tools across a wide variety of communication protocols. Version 1.0 introduces a modular core with a plugin-based architecture, making it more extensible, testable, and easier to package.
10
-
11
-
## Core Components
9
+
:::info Language Examples
10
+
This documentation uses **Python** examples. UTCP is available in multiple languages - see [TypeScript](https://github.com/universal-tool-calling-protocol/typescript-utcp), [Go](https://github.com/universal-tool-calling-protocol/go-utcp), and other implementations in the [UTCP GitHub organization](https://github.com/universal-tool-calling-protocol).
11
+
:::
12
12
13
-
UTCP consists of four main components:
13
+
UTCP is a lightweight, secure, and scalable standard that enables AI agents and applications to discover and call tools directly using their native protocols - **no wrapper servers required**.
14
14
15
-
1.[**Manuals**](./api/core/utcp/data/utcp_manual.md): The standard tool provider description format that contains tool definitions
16
-
2.[**Tools**](./api/core/utcp/data/tool.md): The individual capabilities that can be called
17
-
3.[**Call Templates**](./api/core/utcp/data/call_template.md): The communication configurations that specify how tools are accessed. Concretely this maps a tool name and provided arguments to an actual API request in a communication protocol.
18
-
4.[**UtcpClient**](./api/core/utcp/utcp_client.md): The client that calls tools using the call templates.
15
+
## Why UTCP?
19
16
20
-
## The "Manual" Approach
17
+
### The Problem with Current Approaches
18
+
Most tool integration solutions force you to:
19
+
- Build and maintain wrapper servers for every tool
20
+
- Route all traffic through a middleman protocol
21
+
- Reimplement existing authentication and security
22
+
- Accept additional latency and complexity
21
23
22
-
UTCP's fundamental philosophy is to act as a descriptive manual rather than a prescriptive middleman:
24
+
### The UTCP Solution
25
+
UTCP acts as a **"manual"** that tells agents how to call your tools directly:
23
26
24
-
:::note
25
-
A UTCP Manual tells an agent: "Here is a tool. Here is its native endpoint (HTTP, WebSocket, CLI, etc.), and here is how to call it directly."
27
+
:::tip Core Philosophy
28
+
*"If a human can call your API, an AI agent should be able to call it too - with the same security and no additional infrastructure."*
26
29
:::
27
30
28
-
This approach eliminates the need for wrapper servers and allows direct communication between agents and tools.
29
-
30
-
## New Architecture in 1.0
31
-
32
-
UTCP has been refactored into a core library and a set of optional plugins:
31
+
## Quick Start (5 Minutes)
33
32
34
-
### Core Package (`utcp`)
35
-
-**Data Models**: Pydantic models for [`Tool`](./api/core/utcp/data/tool.md), [`CallTemplate`](./api/core/utcp/data/call_template.md), [`UtcpManual`](./api/core/utcp/data/utcp_manual.md), and [`Auth`](./api/core/utcp/data/auth.md)
0 commit comments