pymcp-kit keeps the built-in surface intentionally narrow. This page is the quickest way to see what the package exposes at runtime and what capability toggles affect the MCP handshake.
ServerSettings.protocol_versions currently defaults to:
2025-11-252025-06-182025-03-262024-11-05
GET /: basic server metadataPOST /mcp: Streamable HTTP MCP endpointGET /mcp: transport support endpoint for streamable sessionsDELETE /mcp: session termination endpoint for streamable sessions
initializepingnotifications/initializednotifications/cancelled
tools/listtools/call
prompts/listprompts/get
resources/listresources/readresources/subscriberesources/unsubscribenotifications/resources/updated
roots/list
tasks/listtasks/gettasks/canceltasks/resultnotifications/tasks/statusnotifications/progress
CapabilitySettings controls which fragments appear in initialize.result.capabilities and which optional runtime behaviors are enabled.
| Setting | Default | Effect |
|---|---|---|
tools_list_changed |
False |
Advertise tools.listChanged support. |
prompts_list_changed |
False |
Advertise prompts.listChanged support. |
resources_list_changed |
False |
Advertise resources.listChanged support. |
resources_subscribe |
True |
Advertise and enable resource subscription support. |
advertise_empty_prompts |
False |
Expose a prompts capability even when no prompts are registered. |
advertise_empty_resources |
False |
Expose a resources capability even when no resources are registered. |
roots_enabled |
True |
Expose roots capability and handler. |
roots_list_changed |
False |
Advertise roots.listChanged support. |
tasks_enabled |
True |
Expose task capability fragments and task handlers. |
tasks_tool_call |
True |
Advertise task augmentation for tools/call. |
tasks_list |
True |
Advertise the tasks/list capability fragment. |
tasks_cancel |
True |
Advertise the tasks/cancel capability fragment. |
elicitation_form |
True |
Advertise form-based elicitation support. |
elicitation_url |
False |
Advertise URL-based elicitation support. |
By default, ServerSettings() uses:
ServerSettings(
name="pymcp-kit",
version="0.1.0",
)Those defaults flow into both:
- the HTTP root payload returned from
GET / initialize.result.serverInfo
- SSE and HTTP NDJSON transports are intentionally not bundled
- metrics and tracing are not part of the shipped surface
- the package focuses on a practical MCP server core rather than a full framework stack