ZCP MCP Protocol Reference
This document describes the MCP-facing surface implemented by ZCP. Use it as a wire reference, not as the first conceptual introduction.
Lifecycle
Supported lifecycle methods:
initializeinitializedping
initialize returns MCP-shaped data including:
protocolVersionserverInfocapabilities
When auth metadata is configured on the native runtime, that information is also reflected through the exposed metadata surfaces.
Tools
Supported tool methods:
tools/listtools/callnotifications/tools/list_changed
Supported tool metadata projection includes:
nametitledescriptioninputSchemaoutputSchemaannotationsiconsexecution_meta
tools/call can return:
- normal inline content
- structured content
- task objects when task-augmented invocation is requested and supported
Resources
Supported resource methods:
resources/listresources/templates/listresources/readresources/subscriberesources/unsubscribenotifications/resources/updatednotifications/resources/list_changed
ZCP projects text-like, JSON-like, and binary handler outputs into MCP-compatible resource content.
Prompts
Supported prompt methods:
prompts/listprompts/getnotifications/prompts/list_changed
Prompt results can be returned as:
- plain string content
{role, content}messages- richer content block objects
Completion
Supported completion methods:
- official
completion/complete - compatibility alias
completions/complete
Completion responses include:
valuestotalhasMore
Logging
Supported logging methods and notifications:
logging/setLevelnotifications/message
Supported levels:
debuginfonoticewarningerrorcriticalalertemergency
Roots
Supported roots methods and notifications:
roots/listnotifications/roots/list_changed
Progress
Supported progress notification:
notifications/progress
Progress tokens are accepted from common MCP metadata locations, including:
params.meta.progressTokenparams.meta.progress_tokenparams._meta.progressToken
Sampling
Supported method:
sampling/createMessage
Supported normalized request fields include:
messagessystemPromptmodelPreferencesincludeContexttemperaturemaxTokensstopSequencesmetadatatoolstoolChoice
Elicitation
Supported elicitation methods:
- official
elicitation/create - compatibility alias
elicitation/request
ZCP accepts MCP-style form and URL requests while still preserving a backward compatible alias path for native callers that have not migrated.
Tasks
Supported task methods:
tasks/createtasks/listtasks/gettasks/resulttasks/cancelnotifications/tasks/status
Supported task states include:
queuedworkinginput_requiredcompletedfailedcancelled
Task-augmented tools/call is also supported for tools that declare task support.
Transports
Current MCP-facing transports:
- stdio
- streamable HTTP on
/mcp - websocket on
/ws
Current native transport:
- JSON-RPC on
/zcp
Streamable HTTP Details
/mcp supports:
GETfor SSE streamingPOSTfor JSON-RPC and streamed responsesDELETEfor explicit session teardown
Compatibility behavior includes:
mcp-session-id- support for the configured native session header
- SSE
id Last-Event-IDreplay against a bounded buffer
Authorization Metadata
When OAuth is enabled, the server can expose:
- authorization server metadata
- protected resource metadata
- authorization endpoint
- token endpoint
- registration endpoint
- revocation endpoint
Use authorization_guide.md for deployment guidance and this document only for surface reference.
Notes On Parity
This document describes what the implementation exposes today. It does not claim that every edge case or experimental feature is fully exhausted. For the strict remaining gap list, use mcp_gap_todo.md.