Skip to main content

CTP Specification Overview

Version: 1.0.0 Status: Stable License: MIT

Abstract

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

  1. Browser-Native Execution: Tools SHOULD execute entirely in the browser using Web APIs
  2. MCP Compatibility: Tools MUST be convertible to MCP format for AI integration
  3. Type Safety: All interfaces MUST be fully typed with TypeScript
  4. Discoverability: Tools MUST support multiple discovery mechanisms
  5. Embeddability: Tools SHOULD be embeddable in any web page
  6. 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

VersionDateChanges
1.0.02024Initial stable release