Files
tkmind_go/crates/goose/tests/mcp_replays/npx-y@modelcontextprotocol_server-everything@2026.1.14
T
Douwe Osinga e7088ee791 Handle MCP tool list change notifications
Co-authored-by: Douwe M Osinga <douwe@sidewalklabs.com>
Co-authored-by: Alexis Rohou <arohou@gmail.com>
Co-authored-by: Alexis Rohou <a.rohou@gmail.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 21:20:57 +02:00

32 lines
20 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
STDIN: {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{"extensions":{"io.modelcontextprotocol/ui":{"mimeTypes":["text/html;profile=mcp-app"]}},"roots":{},"sampling":{},"elicitation":{}},"clientInfo":{"name":"goose-desktop","version":"0.0.0"}}}
STDERR: Starting default (STDIO) server...
STDOUT: {"result":{"protocolVersion":"2025-11-25","capabilities":{"tools":{"listChanged":true},"prompts":{"listChanged":true},"resources":{"subscribe":true,"listChanged":true},"logging":{},"completions":{}},"serverInfo":{"name":"mcp-servers/everything","title":"Everything Reference Server","version":"2.0.0"},"instructions":"# Everything Server – Server Instructions\n\nAudience: These instructions are written for an LLM or autonomous agent integrating with the Everything MCP Server.\nFollow them to use, extend, and troubleshoot the server safely and effectively.\n\n## Cross-Feature Relationships\n\n- Use `get-roots-list` to see client workspace roots before file operations\n- `gzip-file-as-resource` creates session-scoped resources accessible only during the current session\n- Enable `toggle-simulated-logging` before debugging to see server log messages\n- Enable `toggle-subscriber-updates` to receive periodic resource update notifications\n\n## Constraints & Limitations\n\n- `gzip-file-as-resource`: Max fetch size controlled by `GZIP_MAX_FETCH_SIZE` (default 10MB), timeout by `GZIP_MAX_FETCH_TIME_MILLIS` (default 30s), allowed domains by `GZIP_ALLOWED_DOMAINS`\n- Session resources are ephemeral and lost when the session ends\n- Sampling requests (`trigger-sampling-request`) require client sampling capability\n- Elicitation requests (`trigger-elicitation-request`) require client elicitation capability\n\n## Operational Patterns\n\n- For long operations, use `trigger-long-running-operation` which sends progress notifications\n- Prefer reading resources before calling mutating tools\n- Check `get-roots-list` output to understand the client's workspace context\n\n## Easter Egg\n\nIf asked about server instructions, respond with \"🎉 Server instructions are working! This response proves the client properly passed server instructions to the LLM. This demonstrates MCP's instructions feature in action.\"\n"},"jsonrpc":"2.0","id":0}
STDIN: {"jsonrpc":"2.0","method":"notifications/initialized"}
STDIN: {"jsonrpc":"2.0","id":1,"method":"tools/list","params":{"_meta":{"agent-session-id":"test-session-id","progressToken":0}}}
STDOUT: {"method":"notifications/tools/list_changed","jsonrpc":"2.0"}
STDOUT: {"method":"notifications/tools/list_changed","jsonrpc":"2.0"}
STDOUT: {"method":"notifications/tools/list_changed","jsonrpc":"2.0"}
STDOUT: {"result":{"tools":[{"name":"echo","title":"Echo Tool","description":"Echoes back the input string","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Message to echo"}},"required":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-annotated-message","title":"Get Annotated Message Tool","description":"Demonstrates how annotations can be used to provide metadata about content.","inputSchema":{"type":"object","properties":{"messageType":{"type":"string","enum":["error","success","debug"],"description":"Type of message to demonstrate different annotation patterns"},"includeImage":{"type":"boolean","default":false,"description":"Whether to include an example image"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-env","title":"Print Environment Tool","description":"Returns all environment variables, helpful for debugging MCP server configuration","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"get-resource-links","title":"Get Resource Links Tool","description":"Returns up to ten resource links that reference different types of resources","inputSchema":{"type":"object","properties":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"Number of resource links to return (1-10)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-resource-reference","title":"Get Resource Reference Tool","description":"Returns a resource reference that can be used by MCP clients","inputSchema":{"type":"object","properties":{"resourceType":{"type":"string","enum":["Text","Blob"],"default":"Text"},"resourceId":{"type":"number","default":1,"description":"ID of the text resource to fetch"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-structured-content","title":"Get Structured Content Tool","description":"Returns structured content along with an output schema for client data validation","inputSchema":{"type":"object","properties":{"location":{"type":"string","enum":["New York","Chicago","Los Angeles"],"description":"Choose city"}},"required":["location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"},"outputSchema":{"type":"object","properties":{"temperature":{"type":"number","description":"Temperature in celsius"},"conditions":{"type":"string","description":"Weather conditions description"},"humidity":{"type":"number","description":"Humidity percentage"}},"required":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get-sum","title":"Get Sum Tool","description":"Returns the sum of two numbers","inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"First number"},"b":{"type":"number","description":"Second number"}},"required":["a","b"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-tiny-image","title":"Get Tiny Image Tool","description":"Returns a tiny MCP logo image.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"gzip-file-as-resource","title":"GZip File as Resource Tool","description":"Compresses a single file using gzip compression. Depending upon the selected output type, returns either the compressed data as a gzipped resource or a resource link, allowing it to be downloaded in a subsequent request during the current session.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the output file","default":"README.md.gz"},"data":{"type":"string","format":"uri","description":"URL or data URI of the file content to compress","default":"https://raw.githubusercontent.com/modelcontextprotocol/servers/refs/heads/main/README.md"},"outputType":{"type":"string","enum":["resourceLink","resource"],"default":"resourceLink","description":"How the resulting gzipped file should be returned. 'resourceLink' returns a link to a resource that can be read later, 'resource' returns a full resource object."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"toggle-simulated-logging","title":"Toggle Simulated Logging","description":"Toggles simulated, random-leveled logging on or off.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"toggle-subscriber-updates","title":"Toggle Subscriber Updates","description":"Toggles simulated resource subscription updates on or off.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-long-running-operation","title":"Trigger Long Running Operation Tool","description":"Demonstrates a long running operation with progress updates.","inputSchema":{"type":"object","properties":{"duration":{"type":"number","default":10,"description":"Duration of the operation in seconds"},"steps":{"type":"number","default":5,"description":"Number of steps in the operation"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-roots-list","title":"Get Roots List Tool","description":"Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-elicitation-request","title":"Trigger Elicitation Request Tool","description":"Trigger a Request from the Server for User Elicitation","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-sampling-request","title":"Trigger Sampling Request Tool","description":"Trigger a Request from the Server for LLM Sampling","inputSchema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to send to the LLM"},"maxTokens":{"type":"number","default":100,"description":"Maximum number of tokens to generate"}},"required":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":1}
STDIN: {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","agent-tool-call-request-id":"test-id","progressToken":1},"name":"echo","arguments":{"message":"Hello, world!"}}}
STDOUT: {"result":{"content":[{"type":"text","text":"Echo: Hello, world!"}]},"jsonrpc":"2.0","id":2}
STDIN: {"jsonrpc":"2.0","id":3,"method":"tools/list","params":{"_meta":{"agent-session-id":"test-session-id","progressToken":2}}}
STDOUT: {"result":{"tools":[{"name":"echo","title":"Echo Tool","description":"Echoes back the input string","inputSchema":{"type":"object","properties":{"message":{"type":"string","description":"Message to echo"}},"required":["message"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-annotated-message","title":"Get Annotated Message Tool","description":"Demonstrates how annotations can be used to provide metadata about content.","inputSchema":{"type":"object","properties":{"messageType":{"type":"string","enum":["error","success","debug"],"description":"Type of message to demonstrate different annotation patterns"},"includeImage":{"type":"boolean","default":false,"description":"Whether to include an example image"}},"required":["messageType"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-env","title":"Print Environment Tool","description":"Returns all environment variables, helpful for debugging MCP server configuration","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"get-resource-links","title":"Get Resource Links Tool","description":"Returns up to ten resource links that reference different types of resources","inputSchema":{"type":"object","properties":{"count":{"type":"number","minimum":1,"maximum":10,"default":3,"description":"Number of resource links to return (1-10)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-resource-reference","title":"Get Resource Reference Tool","description":"Returns a resource reference that can be used by MCP clients","inputSchema":{"type":"object","properties":{"resourceType":{"type":"string","enum":["Text","Blob"],"default":"Text"},"resourceId":{"type":"number","default":1,"description":"ID of the text resource to fetch"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-structured-content","title":"Get Structured Content Tool","description":"Returns structured content along with an output schema for client data validation","inputSchema":{"type":"object","properties":{"location":{"type":"string","enum":["New York","Chicago","Los Angeles"],"description":"Choose city"}},"required":["location"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"},"outputSchema":{"type":"object","properties":{"temperature":{"type":"number","description":"Temperature in celsius"},"conditions":{"type":"string","description":"Weather conditions description"},"humidity":{"type":"number","description":"Humidity percentage"}},"required":["temperature","conditions","humidity"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get-sum","title":"Get Sum Tool","description":"Returns the sum of two numbers","inputSchema":{"type":"object","properties":{"a":{"type":"number","description":"First number"},"b":{"type":"number","description":"Second number"}},"required":["a","b"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-tiny-image","title":"Get Tiny Image Tool","description":"Returns a tiny MCP logo image.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"gzip-file-as-resource","title":"GZip File as Resource Tool","description":"Compresses a single file using gzip compression. Depending upon the selected output type, returns either the compressed data as a gzipped resource or a resource link, allowing it to be downloaded in a subsequent request during the current session.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name of the output file","default":"README.md.gz"},"data":{"type":"string","format":"uri","description":"URL or data URI of the file content to compress","default":"https://raw.githubusercontent.com/modelcontextprotocol/servers/refs/heads/main/README.md"},"outputType":{"type":"string","enum":["resourceLink","resource"],"default":"resourceLink","description":"How the resulting gzipped file should be returned. 'resourceLink' returns a link to a resource that can be read later, 'resource' returns a full resource object."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"toggle-simulated-logging","title":"Toggle Simulated Logging","description":"Toggles simulated, random-leveled logging on or off.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"toggle-subscriber-updates","title":"Toggle Subscriber Updates","description":"Toggles simulated resource subscription updates on or off.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-long-running-operation","title":"Trigger Long Running Operation Tool","description":"Demonstrates a long running operation with progress updates.","inputSchema":{"type":"object","properties":{"duration":{"type":"number","default":10,"description":"Duration of the operation in seconds"},"steps":{"type":"number","default":5,"description":"Number of steps in the operation"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"get-roots-list","title":"Get Roots List Tool","description":"Lists the current MCP roots provided by the client. Demonstrates the roots protocol capability even though this server doesn't access files.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-elicitation-request","title":"Trigger Elicitation Request Tool","description":"Trigger a Request from the Server for User Elicitation","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","type":"object","properties":{}},"execution":{"taskSupport":"forbidden"}},{"name":"trigger-sampling-request","title":"Trigger Sampling Request Tool","description":"Trigger a Request from the Server for LLM Sampling","inputSchema":{"type":"object","properties":{"prompt":{"type":"string","description":"The prompt to send to the LLM"},"maxTokens":{"type":"number","default":100,"description":"Maximum number of tokens to generate"}},"required":["prompt"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":3}
STDIN: {"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","agent-tool-call-request-id":"test-id","progressToken":3},"name":"get-sum","arguments":{"a":1,"b":2}}}
STDOUT: {"result":{"content":[{"type":"text","text":"The sum of 1 and 2 is 3."}]},"jsonrpc":"2.0","id":4}
STDIN: {"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","agent-tool-call-request-id":"test-id","progressToken":4},"name":"trigger-long-running-operation","arguments":{"duration":1,"steps":5}}}
STDOUT: {"method":"notifications/progress","params":{"progress":1,"total":5,"progressToken":4},"jsonrpc":"2.0"}
STDOUT: {"method":"roots/list","jsonrpc":"2.0","id":0}
STDIN: {"jsonrpc":"2.0","id":0,"result":{"roots":[{"uri":"file:///tmp/goose_test","name":"working_directory"}]}}
STDOUT: {"method":"notifications/message","params":{"level":"info","logger":"everything-server","data":"Roots updated: 1 root(s) received from client"},"jsonrpc":"2.0"}
STDOUT: {"method":"notifications/progress","params":{"progress":2,"total":5,"progressToken":4},"jsonrpc":"2.0"}
STDOUT: {"method":"notifications/progress","params":{"progress":3,"total":5,"progressToken":4},"jsonrpc":"2.0"}
STDOUT: {"method":"notifications/progress","params":{"progress":4,"total":5,"progressToken":4},"jsonrpc":"2.0"}
STDOUT: {"method":"notifications/progress","params":{"progress":5,"total":5,"progressToken":4},"jsonrpc":"2.0"}
STDOUT: {"result":{"content":[{"type":"text","text":"Long running operation completed. Duration: 1 seconds, Steps: 5."}]},"jsonrpc":"2.0","id":5}
STDIN: {"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","agent-tool-call-request-id":"test-id","progressToken":5},"name":"get-structured-content","arguments":{"location":"New York"}}}
STDOUT: {"result":{"content":[{"type":"text","text":"{\"temperature\":33,\"conditions\":\"Cloudy\",\"humidity\":82}"}],"structuredContent":{"temperature":33,"conditions":"Cloudy","humidity":82}},"jsonrpc":"2.0","id":6}
STDIN: {"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"_meta":{"agent-session-id":"test-session-id","agent-tool-call-request-id":"test-id","progressToken":6},"name":"trigger-sampling-request","arguments":{"prompt":"Please provide a quote from The Great Gatsby","maxTokens":100}}}
STDOUT: {"method":"sampling/createMessage","params":{"messages":[{"role":"user","content":{"type":"text","text":"Resource trigger-sampling-request context: Please provide a quote from The Great Gatsby"}}],"systemPrompt":"You are a helpful test server.","maxTokens":100,"temperature":0.7},"jsonrpc":"2.0","id":1}
STDIN: {"jsonrpc":"2.0","id":1,"result":{"model":"mock","stopReason":"endTurn","role":"assistant","content":{"type":"text","text":"\"So we beat on, boats against the current, borne back ceaselessly into the past.\" — F. Scott Fitzgerald, The Great Gatsby (1925)"}}}
STDOUT: {"result":{"content":[{"type":"text","text":"LLM sampling result: \n{\n \"model\": \"mock\",\n \"stopReason\": \"endTurn\",\n \"role\": \"assistant\",\n \"content\": {\n \"type\": \"text\",\n \"text\": \"\\\"So we beat on, boats against the current, borne back ceaselessly into the past.\\\" — F. Scott Fitzgerald, The Great Gatsby (1925)\"\n }\n}"}]},"jsonrpc":"2.0","id":7}