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
14 lines
536 B
Plaintext
14 lines
536 B
Plaintext
# tools/call summarize_incident -> server sends sampling/createMessage to the client
|
|
what the CLIENT received from the server:
|
|
systemPrompt: You are an SRE. Answer in two sentences, no preamble.
|
|
messages: 1
|
|
messages[0].role: USER
|
|
messages[0] starts with: Summarize this incident log:
|
|
maxTokens: 120
|
|
temperature: 0.2
|
|
includeContext: NONE
|
|
|
|
tool result returned to the caller:
|
|
Connection pool on payments-api was exhausted by a 14.8s ledger query, so 212 clients got HTTP 503. Fix the query or raise the pool.
|
|
isError: false
|