Preamble
- Title: Common Tool Schemas
- Authors: ContextVM-org
- Status: Draft
Abstract
This CEP establishes a standard for defining and discovering common tool schemas in ContextVM, enabling interoperability by allowing multiple servers to implement standardized tool interfaces. Using MCP's _meta field, RFC 8785 for deterministic hashing, and CEP-6 announcements for discovery, this creates a marketplace where users can choose between multiple providers implementing the same standard tool interface.
Motivation
Enables a marketplace for common services in ContextVM. When servers implement similar functionality (translation, weather, search), clients currently cannot discover equivalent services, switch providers without code changes, or build specialized UIs for standard tool types. Common tool schemas enable provider competition, user choice, and seamless interoperability.
Specification
The proposal introduces a reference server pattern where servers define canonical tool schemas identified by (serverPubkey, toolName). Implementing servers can then conform to these schemas. Schema verification uses RFC 8785 JCS for deterministic hashing. Discovery leverages CEP-6 announcements with D (defines) and I (implements) tags. The full specification is available in the accompanying PR.
Rationale
This design aligns with MCP's architecture by using the existing _meta field for extensibility and server-based versioning. It avoids creating new event kinds by leveraging CEP-6 announcements. The server-anchored approach ensures canonical authority while enabling decentralized discovery. The hash includes tool names to guarantee interoperability across implementations.
Backwards Compatibility
Fully backward compatible: existing clients ignore _meta fields and use tools normally, existing servers work without modifications, and CEP-6 tags are additive. The _meta field is part of the MCP specification, ensuring no breaking changes.
Readable spec
Resolves: #14
Preamble
Abstract
This CEP establishes a standard for defining and discovering common tool schemas in ContextVM, enabling interoperability by allowing multiple servers to implement standardized tool interfaces. Using MCP's
_metafield, RFC 8785 for deterministic hashing, and CEP-6 announcements for discovery, this creates a marketplace where users can choose between multiple providers implementing the same standard tool interface.Motivation
Enables a marketplace for common services in ContextVM. When servers implement similar functionality (translation, weather, search), clients currently cannot discover equivalent services, switch providers without code changes, or build specialized UIs for standard tool types. Common tool schemas enable provider competition, user choice, and seamless interoperability.
Specification
The proposal introduces a reference server pattern where servers define canonical tool schemas identified by
(serverPubkey, toolName). Implementing servers can then conform to these schemas. Schema verification uses RFC 8785 JCS for deterministic hashing. Discovery leverages CEP-6 announcements withD(defines) andI(implements) tags. The full specification is available in the accompanying PR.Rationale
This design aligns with MCP's architecture by using the existing
_metafield for extensibility and server-based versioning. It avoids creating new event kinds by leveraging CEP-6 announcements. The server-anchored approach ensures canonical authority while enabling decentralized discovery. The hash includes tool names to guarantee interoperability across implementations.Backwards Compatibility
Fully backward compatible: existing clients ignore
_metafields and use tools normally, existing servers work without modifications, and CEP-6 tags are additive. The_metafield is part of the MCP specification, ensuring no breaking changes.Readable spec
Resolves: #14