This document describes the MCP-facing surface implemented by ZCP. Use it as a wire reference, not as the first conceptual introduction.
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.
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
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.
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
Supported completion methods:
- official
completion/complete - compatibility alias
completions/complete
Completion responses include:
valuestotalhasMore
Supported logging methods and notifications:
logging/setLevelnotifications/message
Supported levels:
debuginfonoticewarningerrorcriticalalertemergency
Supported roots methods and notifications:
roots/listnotifications/roots/list_changed
Supported progress notification:
notifications/progress
Progress tokens are accepted from common MCP metadata locations, including:
params.meta.progressTokenparams.meta.progress_tokenparams._meta.progressToken
Supported method:
sampling/createMessage
Supported normalized request fields include:
messagessystemPromptmodelPreferencesincludeContexttemperaturemaxTokensstopSequencesmetadatatoolstoolChoice
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.
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.
Current MCP-facing transports:
- stdio
- streamable HTTP on
/mcp - websocket on
/ws
Current native transport:
- JSON-RPC on
/zcp
/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
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.
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.