Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Official python implementation of UTCP. UTCP is an open standard that lets AI agents call any API directly, without extra middleware.
| Date | Stars |
|---|---|
| 2026-07-31 | 644 |
| 2026-08-01 | 644 |
| 2026-08-06 | 644 |
| 2026-08-12 | 644 |
| 2026-08-18 | 645 |
| 2026-08-19 | 646 |
| 2026-08-27 | 646 |
| 2026-09-04 | 646 |
| 2026-09-08 | 646 |
| 2026-09-09 | 648 |
| 2026-09-11 | 649 |
| 2026-09-16 | 650 |
| 2026-09-17 | 651 |
| 2026-09-20 | 652 |
Today
+1 stars today
This week
+3 stars this week
This month
+6 stars this month
Momentum
7.0
growth rate 0.46%/day
# Universal Tool Calling Protocol (UTCP)
[](https://github.com/universal-tool-calling-protocol)
[](https://pepy.tech/projects/utcp)
[](https://github.com/universal-tool-calling-protocol/python-utcp/blob/main/LICENSE)
[](https://cdtm.com/)
## Introduction
The Universal Tool Calling Protocol (UTCP) is a secure, scalable standard for defining and interacting with tools across a wide variety of communication protocols. UTCP 1.0.0 introduces a modular core with a plugin-based architecture, making it more extensible, testable, and easier to package.
In contrast to other protocols, UTCP places a strong emphasis on:
* **Scalability**: UTCP is designed to handle a large number of tools and providers without compromising performance.
* **Extensibility**: A pluggable architecture allows developers to easily add new communication protocols, tool storage mechanisms, and search strategies without modifying the core library.
* **Interoperability**: With a growing ecosystem of protocol plugins (including HTTP, SSE, CLI, and more), UTCP can integrate with almost any existing service or infrastructure.
* **Ease of Use**: The protocol is built on simple, well-defined Pydantic models, making it easy for developers to implement and use.

## Repository Structure
This repository contains the complete UTCP Python implementation:
- **[`core/`](core/)** - Core `utcp` package with foundational components ([README](core/README.md))
- **[`plugins/communication_protocols/`](plugins/communication_protocols/)** - Protocol-specific plugins:
- [`http/`](plugins/communication_protocols/http/) - HTTP/REST, SSE, streaming, OpenAPI ([README](plugins/communication_protocols/http/README.md))
- [`cli/`](plugins/communication_protocols/cli/) - Command-line tools ([README](plugins/communication_protocols/cli/README.md))
- [`mcp/`](plugins/communication_protocols/mcp/) - Model Context Protocol ([README](plugins/communication_protocols/mcp/README.md))
- [`text/`](plugins/communication_protocols/text/) - File-based tools ([README](plugins/communication_protocols/text/README.md))
- [`socket/`](plugins/communication_protocols/socket/) - TCP/UDP (🚧 In Progress)
- [`gql/`](plugins/communication_protocols/gql/) - GraphQL (🚧 In Progress)
## Architecture Overview
UTCP uses a modular architecture with a core library and protocol plugins:
### Core Package (`utcp`)
The [`core/`](core/) directory contains the foundational components:
- **Data Models**: Pydantic models for `Tool`, `CallTemplate`, `UtcpManual`, and `Auth`
- **Client Interface**: Main `UtcpClient` for tool interaction
- **Plugin System**: Extensible interfaces for protocols, repositories, and search
- **Default Implementations**: Built-in tool storage and search strategies
## Quick Start
### Installation
Install the core library and any required protocol plugins:
```bash
# Install core + HTTP plugin (most common)
pip install utcp utcp-http
# Install additional plugins as needed
pip install utcp-cli utcp-mcp utcp-text
```
### Basic Usage
```python
from utcp.utcp_client import UtcpClient
# Create client with HTTP API
client = await UtcpClient.create(config={
"manual_call_templates": [{
"name": "my_api",
"call_template_type": "http",
"url": "https://api.example.com/utcp"
}]
})
# Call a tool
result = await client.call_tool("my_api.get_data", {"id": "123"})
```
## Protocol Plugins
UTCP supports multiple communication protocols through dedicated plugins:
| Plugin | Description | Status | Documentation |
|--------|-------------|--------|-Excerpt of 25,316 characters
Read on GitHub164
9
6
Juan V. · @universal-tool-calling-protocol
3
3
2
2
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:2a0d821ac88d698b, topic:mcp, topic:model-context-protocol
matched fp:2a0d821ac88d698b, topic:llm
matched fp:2a0d821ac88d698b, topic:ai-agent, desc:ai agents
matched fp:2a0d821ac88d698b, topic:developer-tools