An incident-desk MCP server with a fixed resource, two resource templates, a prompt, a tool that borrows the client's model (sampling) and a tool that asks the operator to approve a restart (elicitation). Driven by a plain SDK client in JUnit and by raw curl, so the JSON-RPC for both server-to-client requests is committed. Also captured: a client that declared neither capability (a gated tool degrades, an ungated one returns an isError result), a slow client hitting the server request timeout, and protocol=STATELESS silently dropping every tool that takes McpSyncRequestContext (one WARN line, an empty tools/list). Negotiated protocol version is 2025-11-25; the 2026-07-28 spec is not implemented by SDK 2.1.0. No docs/ folder. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ic4b5jAFLJrmUXmbo5EuV
15 lines
807 B
Plaintext
15 lines
807 B
Plaintext
# a client that declared neither sampling nor elicitation
|
|
summarize_incident (gated with sampleEnabled()):
|
|
SAMPLING_UNAVAILABLE -- client has no model to lend. Raw log:
|
|
11:02:44 search-api WARN index segment merge running
|
|
11:02:51 search-api INFO p99 latency 840ms (SLO 500ms)
|
|
|
|
|
|
restart_service (gated with elicitEnabled()):
|
|
ELICITATION_UNAVAILABLE -- refusing to restart payments-api without an approval channel
|
|
|
|
summarize_incident_ungated (calls sample() with no check):
|
|
result: Sampling not supported by the client: Implementation[name=Java SDK MCP Client, title=null, version=0.15.0, description=null, icons=null, websiteUrl=null]
|
|
Sampling not supported by the client: Implementation[name=Java SDK MCP Client, title=null, version=0.15.0, description=null, icons=null, websiteUrl=null]
|
|
isError: true
|