There is a newer version of the record available.

Published June 2, 2026 | Version v1.0
Standard Open

CTMS: Canonical Tool Manifest Specification

Authors/Creators

Description

CTMS (Canonical Tool Manifest Specification) defines a signing and verification scheme for MCP (Model Context Protocol) tool metadata. MCP servers declare tool capabilities through descriptions, schemas, and annotations that language models use to discover and invoke tools. Nothing in the MCP protocol verifies that these declarations are accurate or unchanged. CTMS addresses this gap by defining a canonical form for tool metadata, a keyless signing scheme using Sigstore, a versioning model that distinguishes breaking from semantic changes, and a verification procedure that MCP clients perform before passing tool metadata to the language model. The signed artifact is a Sealed Tool Manifest (STM), structured as an in-toto attestation and recorded in a transparency log.

The specification builds on RFC 8785 (JSON Canonicalization Scheme), RFC 7515 (JSON Web Signatures), RFC 7517 (JSON Web Keys), the in-toto attestation format v1, and Sigstore (Fulcio + Rekor). It defines three conformance profiles (Community, Enterprise, Sovereign) to support different deployment contexts from open-source publishers to regulated environments. A Python reference implementation with a command-line tool and 67 offline tests accompanies the specification.

CTMS v1.0 is the first published version.

Notes

Reference implementation and test vectors are included in the archived release

Files

gkanellopoulos/ctms-v1.0.zip

Files (105.6 kB)

Name Size Download all
md5:a4ff2b4105d440d1694e4d4f87a601a4
105.6 kB Preview Download

Additional details