CTP Specification Overview
Version: 1.0.0 Status: Stable License: MITAbstract
The ConveniencePro Tool Protocol (CTP) defines a standardized interface for creating, discovering, and executing browser-native developer tools. CTP enables tools to operate entirely within web browsers while maintaining compatibility with AI-powered development environments through the Model Context Protocol (MCP).Conformance
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this specification are to be interpreted as described in RFC 2119.Design Goals
- Browser-Native Execution: Tools SHOULD execute entirely in the browser using Web APIs
- MCP Compatibility: Tools MUST be convertible to MCP format for AI integration
- Type Safety: All interfaces MUST be fully typed with TypeScript
- Discoverability: Tools MUST support multiple discovery mechanisms
- Embeddability: Tools SHOULD be embeddable in any web page
- Privacy: Client-executed tools MUST NOT send data to external servers
Core Concepts
Tool Definition
A Tool Definition describes a tool’s metadata, parameters, and behavior. It is a static JSON-serializable object that conforms to the Tool Definition Schema.Tool Function
A Tool Function is the executable implementation that processes parameters and returns a Tool Result.Tool Registry
A Tool Registry maintains a collection of registered tools and provides lookup and execution capabilities.Discovery Documents
Discovery Documents expose tools to external systems through standardized formats (OpenAPI, MCP, llms.txt).Specification Sections
Tool Definition
Complete schema for defining tools
Parameters
All 12 parameter types and validation
Execution
Client, server, and hybrid execution modes
Results
Result format and error codes
Discovery
OpenAPI, MCP, and llms.txt generation
Embedding
Widget embedding and autosense
Security
Security requirements and best practices
MCP Compliance
Model Context Protocol compatibility
Version History
| Version | Date | Changes |
|---|---|---|
| 1.0.0 | 2024 | Initial stable release |