@@ -7,10 +7,23 @@ This repository contains the official specification documentation for the Univer
7
7
UTCP provides a standardized way for AI systems and other clients to discover and call tools from different providers, regardless of the underlying protocol used (HTTP, WebSocket, CLI, etc.). This specification defines:
8
8
9
9
- Tool discovery mechanisms
10
- - Tool call formats
11
- - Provider configuration
12
- - Authentication methods
13
- - Response handling
10
+ - Tool call formats and templates
11
+ - Plugin-based architecture for extensibility
12
+ - Enhanced authentication methods
13
+ - Comprehensive error handling
14
+ - Response processing and validation
15
+
16
+ ## Version 1.0 Features
17
+
18
+ UTCP v1.0 introduces significant architectural improvements:
19
+
20
+ - ** Plugin Architecture** : Core functionality split into pluggable components for better modularity
21
+ - ** Enhanced Data Models** : Improved Pydantic models with comprehensive validation
22
+ - ** Multiple Protocol Support** : HTTP, CLI, WebSocket, Text, and MCP protocols via plugins
23
+ - ** Advanced Authentication** : Expanded authentication options including API key, OAuth, and custom auth
24
+ - ** Better Error Handling** : Specific exception types for different error scenarios
25
+ - ** Performance Optimizations** : Optimized client and protocol implementations
26
+ - ** Async/Await Support** : Full asynchronous client interface for better performance
14
27
15
28
## Contributing to the Specification
16
29
@@ -28,15 +41,35 @@ When contributing, please follow these guidelines:
28
41
- Include examples when adding new features or concepts
29
42
- Update relevant sections to maintain consistency across the documentation
30
43
44
+ ## Installation and Usage
45
+
46
+ ### Core Package Installation
47
+
48
+ ``` bash
49
+ # Install the core UTCP package
50
+ pip install utcp
51
+
52
+ # Install protocol plugins as needed
53
+ pip install utcp-http utcp-cli utcp-websocket utcp-text utcp-mcp
54
+ ```
55
+
56
+ ### Migration from v0.1 to v1.0
57
+
58
+ If you're upgrading from UTCP v0.1, please see our comprehensive [ Migration Guide] ( docs/migration-v0.1-to-v1.0.md ) which covers:
59
+
60
+ - Breaking changes and architectural improvements
61
+ - Step-by-step migration instructions
62
+ - Configuration and manual format updates
63
+ - Common migration issues and solutions
64
+
31
65
## Building the Documentation Locally
32
66
33
67
### Prerequisites
34
68
35
69
To build and preview the documentation site locally, you'll need:
36
70
37
- - Ruby version 2.5.0 or higher
38
- - RubyGems
39
- - Bundler
71
+ - Node.js version 18.0 or higher
72
+ - npm or yarn package manager
40
73
41
74
### Setup
42
75
@@ -48,54 +81,63 @@ To build and preview the documentation site locally, you'll need:
48
81
49
82
2 . Install dependencies:
50
83
``` bash
51
- bundle install
84
+ npm install
52
85
```
53
86
54
87
### Running the Documentation Site
55
88
56
89
To build and serve the site locally:
57
90
58
91
``` bash
59
- bundle exec jekyll serve
92
+ npm start
60
93
```
61
94
62
- This will start a local web server at ` http://localhost:4000 ` where you can preview the documentation.
95
+ This will start a local development server at ` http://localhost:3000 ` where you can preview the documentation.
63
96
64
97
## Documentation Structure
65
98
66
99
The UTCP documentation is organized as follows:
67
100
68
- - ` index.md ` : Homepage and introduction to UTCP
69
101
- ` docs/ `
102
+ - ` index.md ` : Homepage and introduction to UTCP
70
103
- ` introduction.md ` : Detailed introduction and core concepts
71
104
- ` for-tool-providers.md ` : Guide for implementing tool providers
72
105
- ` for-tool-callers.md ` : Guide for implementing tool callers
73
- - ` providers/ ` : Documentation for each provider type
74
- - ` http.md ` : HTTP provider
75
- - ` websocket.md ` : WebSocket provider
76
- - ` cli.md ` : CLI provider
77
- - ` sse.md ` : Server-Sent Events provider
78
- - etc.
106
+ - ` migration-v0.1-to-v1.0.md ` : Comprehensive migration guide from v0.1 to v1.0
107
+ - ` protocols/ ` : Documentation for each protocol type
108
+ - ` http.md ` : HTTP protocol implementation
109
+ - ` websocket.md ` : WebSocket protocol implementation
110
+ - ` cli.md ` : CLI protocol implementation
111
+ - ` sse.md ` : Server-Sent Events protocol implementation
112
+ - ` text.md ` : Text protocol implementation
113
+ - ` mcp.md ` : Model Context Protocol implementation
114
+ - ` api/ ` : API reference documentation
115
+ - ` core/ ` : Core API documentation
116
+ - ` plugins/ ` : Plugin API documentation
79
117
- ` implementation.md ` : Implementation guidelines and best practices
118
+ - ` versioned_docs/ ` : Version-specific documentation for backwards compatibility
80
119
81
120
## Working with the Specification
82
121
83
122
### Modifying the Documentation
84
123
85
- The documentation is written in Markdown format with Jekyll front matter . When making changes:
124
+ The documentation is built with Docusaurus and written in Markdown format . When making changes:
86
125
87
126
1 . Ensure your Markdown follows the established style
88
127
2 . Preview changes locally before submitting PRs
89
- 3 . Keep examples up-to-date with the latest specification
90
- 4 . Update navigation items in ` _config.yml ` if adding new pages
128
+ 3 . Keep examples up-to-date with the latest specification (v1.0)
129
+ 4 . Update navigation items in ` sidebars.ts ` if adding new pages
130
+ 5 . Consider version compatibility when making breaking changes
91
131
92
132
### File Organization
93
133
94
134
When adding new documentation:
95
135
96
- - Place provider-specific documentation in ` docs/providers/ `
136
+ - Place protocol-specific documentation in ` docs/protocols/ `
137
+ - Place API documentation in ` docs/api/core/ ` or ` docs/api/plugins/ `
97
138
- Use consistent front matter with appropriate navigation ordering
98
- - Include tags for improved searchability on GitHub Pages
139
+ - Include tags for improved searchability
140
+ - Consider versioning for breaking changes using ` versioned_docs/ `
99
141
100
142
## Version Control
101
143
0 commit comments