A portable, machine-readable contract format for describing Model Context Protocol servers.
This repository is the canonical home of the MCP Description Specification.
| Version | Status | Canonical source |
|---|---|---|
| 0.9.0 | Release Candidate 3 (v0.9.0-rc.3; prerelease) — in preparation |
spec/draft/ |
| 0.8.0 | Current stable release | mcpdesc/mcpdesc-specification |
| 0.7.0 | Previous stable release | cisco-open/mcptoolkit-contract |
The machine-readable form of this status is in specification-status.json.
MCP Description 0.8.0 adds MCP 2026-07-28 support, multi-protocol version server descriptions, and deterministic Effective Protocol Views. It also introduces reusable components, richer examples and interactions, primitive client capability requirements, elicitation declarations, formal MCP extension support, reusable security schemes, and conforming JSON and YAML serializations. See the changelog for details. Executable validation is maintained as @mcpdesc/validator in the mcpdesc/core tooling repository.
The 0.9.0 RC.3 candidate builds on RC.2 with review-stage Proposal 0035: portable conditional selection for remaining disjoint unions, source-located and reference-aware diagnostics, and validation-result format 1.4.0. The schema identity and intended downstream selector are 0.9.0-rc.3; mcpdesc remains 0.9.0. Diagnostic paths, findings, and rule results can change. The schema also intentionally rejects unknown members on Elicitation Interaction Response Objects in Tool Interaction Examples, which RC.2 accepted. RC.1, RC.2, and earlier snapshots remain immutable. RC.3 has not yet been tagged or published, and downstream selector support is not implied. The draft also includes the changes from Proposals 0031–0034, dialect-governed Tool schemas, the complete validation catalog, Effective Protocol View and merge cases, and the Resource uri requirement. The 0.9.0 draft includes breaking changes relative to 0.8.0 and remains subject to review; its proposal manifest, changelog, and migration guide describe the changes.
mainis the integration branch and the default view of the project. It carries every released specification version and, when development is active, the in-progressspec/draft/.- Feature branches target
mainvia pull request. When an active development version has been initialized, normative feature branches changespec/draft/. - Released versions are frozen into their own version folder under
spec/(for examplespec/0.8.0/) and tagged (for examplev0.8.0). schemas/latest.jsonidentifies the current stable schema. The active 0.9.0 working draft is described byschemas/draft.jsonandspecification-status.json.
The {mcpdesc} project is an independent open source community project. The initial MCP Description specification and related tools originated at Cisco DevNet and were released through Cisco Open. This repository does not represent a Cisco product, service, official standardization effort, endorsement, partnership, or support commitment.
Cisco employees may participate in the project, subject to Cisco's applicable contribution and approval policies.
spec/ Per-version specification folders and optional active draft
schemas/mcp-description/ Versioned MCP Description JSON Schemas
proposals/ Specification change proposals
scripts/ Repository validation and maintenance scripts
ORIGIN.md Imported-source provenance
GOVERNANCE.md Current community governance
CONTRIBUTING.md Contribution process and licensing terms
See scripts/README.md for the script execution map and links to the authoritative workflow documentation.
Start with CONTRIBUTING.md and GOVERNANCE.md. Non-trivial normative changes should begin with an issue and a proposal.
There is no CLA, copyright assignment, or DCO sign-off requirement. By contributing, you represent that you have the right to submit the contribution under Apache-2.0, including any authorization required from your employer.
Repository content is licensed under Apache License 2.0 unless explicitly stated otherwise.
See LICENSE (terms), NOTICE (copyright and attribution), ORIGIN.md (import provenance), and MODIFICATIONS.md (changes to imported material).