{
  "schemaVersion": 1,
  "generatedAt": "2026-10-10T19:18:17.445Z",
  "clients": [
    {
      "id": "claude-code",
      "name": "Claude Code",
      "vendor": "Anthropic"
    }
  ],
  "features": [
    {
      "id": "prompts.get",
      "title": "Client lists prompts and gets one with an argument"
    },
    {
      "id": "resources.read",
      "title": "Client lists resources and reads one"
    },
    {
      "id": "tools.call",
      "title": "Client lists tools and calls one with arguments"
    }
  ],
  "cases": [
    {
      "id": "prompts.get.basic",
      "title": "Client lists prompts and gets one with an argument",
      "feature": "prompts.get",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "mode": "automated",
      "hash": "71929438ab28a581cf36bb5436ed17b23c8d4e2510e611335af66c306b1be25d",
      "definition": "id: prompts.get.basic\ntitle: Client lists prompts and gets one with an argument\nfeature: prompts.get\nspecRevisions: [2025-11-25, 2026-07-28]\nmode: automated\ndrive:\n  claude-code:\n    # Claude Code exposes MCP prompts as slash commands: /mcp__<server>__<prompt> <args>\n    prompt: /mcp__lab__lab_greeting {{nonce}}\nmanual:\n  instructions: >-\n    Invoke the lab_greeting prompt from the lab server with name \"{{nonce}}\".\n    Check whether the reply contains PROMPT-OK-{{marker}}.\nexpect:\n  - id: listed\n    kind: request\n    description: client discovered the prompt via prompts/list\n    method: prompts/list\n  - id: got\n    kind: request\n    description: client fetched lab_greeting with the run's nonce as its argument\n    method: prompts/get\n    match:\n      params.name: lab_greeting\n      params.arguments.name: \"{{nonce}}\"\n  - id: prompt-reached-model\n    kind: output\n    description: the prompt's messages were sent to the model\n    contains: PROMPT-OK-{{marker}}\n"
    },
    {
      "id": "resources.read.basic",
      "title": "Client lists resources and reads one",
      "feature": "resources.read",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "mode": "automated",
      "hash": "51c65d23517bb417570c975b5c5bb9e877a7b5722d920b221df216c6cfce710e",
      "definition": "id: resources.read.basic\ntitle: Client lists resources and reads one\nfeature: resources.read\nspecRevisions: [2025-11-25, 2026-07-28]\nmode: automated\ndrive:\n  claude-code:\n    prompt: >-\n      Read the MCP resource lab://fixtures/hello from the lab server.\n      Then reply with its exact text content and nothing else. Run id: {{nonce}}.\n    allowedTools: [ListMcpResourcesTool, ReadMcpResourceTool]\nmanual:\n  instructions: >-\n    Attach or read the resource lab://fixtures/hello from the lab server.\n    Check whether the reply contains RESOURCE-OK-{{marker}}.\nexpect:\n  - id: listed\n    kind: request\n    description: client discovered resources via resources/list\n    method: resources/list\n  - id: read\n    kind: request\n    description: client read lab://fixtures/hello\n    method: resources/read\n    match:\n      params.uri: lab://fixtures/hello\n  - id: content-reached-model\n    kind: output\n    description: the resource content was passed to the model\n    contains: RESOURCE-OK-{{marker}}\n"
    },
    {
      "id": "tools.call.basic",
      "title": "Client lists tools and calls one with arguments",
      "feature": "tools.call",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "mode": "automated",
      "hash": "45f8134078c93d00272b0c760c2e3c5860b49fbe266d444146fa7a6b5e72ffbd",
      "definition": "id: tools.call.basic\ntitle: Client lists tools and calls one with arguments\nfeature: tools.call\nspecRevisions: [2025-11-25, 2026-07-28]\nmode: automated\ndrive:\n  claude-code:\n    prompt: >-\n      Use the lab_echo tool from the lab MCP server with token \"{{nonce}}\".\n      Then reply with the tool's exact output and nothing else.\n    allowedTools: [mcp__lab__lab_echo]\nmanual:\n  instructions: >-\n    Ask the client to call the lab_echo tool with token \"{{nonce}}\" and show its output.\n    Check whether the reply contains TOOL-OK-{{marker}}.\nexpect:\n  - id: listed\n    kind: request\n    description: client discovered the tool via tools/list\n    method: tools/list\n  - id: called\n    kind: request\n    description: client called lab_echo with the run's nonce\n    method: tools/call\n    match:\n      params.name: lab_echo\n      params.arguments.token: \"{{nonce}}\"\n  - id: result-reached-model\n    kind: output\n    description: the tool result was passed back to the model\n    contains: TOOL-OK-{{marker}}\n"
    }
  ],
  "results": [
    {
      "slug": "claude-code-2-1-296-tools-call-basic-20261010-3adff6",
      "runId": "2026-10-10T18-29-45-727Z-3adff6",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "tools.call.basic",
      "caseHash": "45f8134078c93d00272b0c760c2e3c5860b49fbe266d444146fa7a6b5e72ffbd",
      "feature": "tools.call",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:29:54.147Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": null,
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered the tool via tools/list",
          "met": true
        },
        {
          "id": "called",
          "kind": "request",
          "description": "client called lab_echo with the run's nonce",
          "met": true
        },
        {
          "id": "result-reached-model",
          "kind": "output",
          "description": "the tool result was passed back to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 9,
          "dir": "in",
          "method": "tools/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 3,
            "method": "tools/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 11,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "tools": [
                {
                  "name": "lab_echo",
                  "description": "MCP lab fixture: echoes a token back with an acknowledgement.",
                  "inputSchema": {
                    "type": "object",
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "properties": {
                      "token": {
                        "type": "string",
                        "description": "Token to echo"
                      }
                    },
                    "required": [
                      "token"
                    ]
                  }
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 3
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "tools/call",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "tools/call",
            "params": {
              "_meta": {
                "progressToken": 4,
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                },
                "claudecode/toolUseId": "toolu_01BsqMKwVtetxTdexCC9gybX"
              },
              "name": "lab_echo",
              "arguments": {
                "token": "nb5324d184408256a"
              }
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "content": [
                {
                  "type": "text",
                  "text": "nb5324d184408256a-ack TOOL-OK-6042a9a31ca6"
                }
              ],
              "resultType": "complete",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "nb5324d184408256a-ack TOOL-OK-6042a9a31ca6\nnb5324d184408256a-ack TOOL-OK-6042a9a31ca6",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-prompts-get-basic-20261010-59b9f3",
      "runId": "2026-10-10T18-30-05-764Z-59b9f3",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "prompts.get.basic",
      "caseHash": "71929438ab28a581cf36bb5436ed17b23c8d4e2510e611335af66c306b1be25d",
      "feature": "prompts.get",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:30:09.125Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": null,
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered the prompt via prompts/list",
          "met": true
        },
        {
          "id": "got",
          "kind": "request",
          "description": "client fetched lab_greeting with the run's nonce as its argument",
          "met": true
        },
        {
          "id": "prompt-reached-model",
          "kind": "output",
          "description": "the prompt's messages were sent to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 6,
          "dir": "in",
          "method": "prompts/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "prompts/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 7,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "prompts": [
                {
                  "name": "lab_greeting",
                  "description": "MCP lab fixture: a prompt with one argument.",
                  "arguments": [
                    {
                      "name": "name",
                      "description": "Name to include",
                      "required": true
                    }
                  ]
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 1
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "prompts/get",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "prompts/get",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              },
              "name": "lab_greeting",
              "arguments": {
                "name": "n639e2237978c133b"
              }
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "messages": [
                {
                  "role": "user",
                  "content": {
                    "type": "text",
                    "text": "Reply with exactly this text and nothing else: PROMPT-OK-a1eed5e0e865 n639e2237978c133b"
                  }
                }
              ],
              "resultType": "complete",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "PROMPT-OK-a1eed5e0e865 n639e2237978c133b\nPROMPT-OK-a1eed5e0e865 n639e2237978c133b",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-resources-read-basic-20261010-59b9f3",
      "runId": "2026-10-10T18-30-05-764Z-59b9f3",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "resources.read.basic",
      "caseHash": "51c65d23517bb417570c975b5c5bb9e877a7b5722d920b221df216c6cfce710e",
      "feature": "resources.read",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:30:17.789Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": null,
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered resources via resources/list",
          "met": true
        },
        {
          "id": "read",
          "kind": "request",
          "description": "client read lab://fixtures/hello",
          "met": true
        },
        {
          "id": "content-reached-model",
          "kind": "output",
          "description": "the resource content was passed to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 8,
          "dir": "in",
          "method": "resources/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 2,
            "method": "resources/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 10,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "resources": [
                {
                  "uri": "lab://fixtures/hello",
                  "name": "lab_hello",
                  "description": "MCP lab fixture: a static text resource.",
                  "mimeType": "text/plain"
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 2
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "resources/read",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "resources/read",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              },
              "uri": "lab://fixtures/hello"
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "contents": [
                {
                  "uri": "lab://fixtures/hello",
                  "mimeType": "text/plain",
                  "text": "RESOURCE-OK-add5911d8c12"
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "RESOURCE-OK-add5911d8c12\nRESOURCE-OK-add5911d8c12",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-tools-call-basic-20261010-59b9f3",
      "runId": "2026-10-10T18-30-05-764Z-59b9f3",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "tools.call.basic",
      "caseHash": "45f8134078c93d00272b0c760c2e3c5860b49fbe266d444146fa7a6b5e72ffbd",
      "feature": "tools.call",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:30:24.418Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": null,
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered the tool via tools/list",
          "met": true
        },
        {
          "id": "called",
          "kind": "request",
          "description": "client called lab_echo with the run's nonce",
          "met": true
        },
        {
          "id": "result-reached-model",
          "kind": "output",
          "description": "the tool result was passed back to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 9,
          "dir": "in",
          "method": "tools/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 3,
            "method": "tools/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 11,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "tools": [
                {
                  "name": "lab_echo",
                  "description": "MCP lab fixture: echoes a token back with an acknowledgement.",
                  "inputSchema": {
                    "type": "object",
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "properties": {
                      "token": {
                        "type": "string",
                        "description": "Token to echo"
                      }
                    },
                    "required": [
                      "token"
                    ]
                  }
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 3
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "tools/call",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "tools/call",
            "params": {
              "_meta": {
                "progressToken": 4,
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                },
                "claudecode/toolUseId": "toolu_01HJcK3SW2wVAgVU8NzBmHcw"
              },
              "name": "lab_echo",
              "arguments": {
                "token": "n4b7c47c4b6f21bf0"
              }
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "content": [
                {
                  "type": "text",
                  "text": "n4b7c47c4b6f21bf0-ack TOOL-OK-914682de7ee0"
                }
              ],
              "resultType": "complete",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "n4b7c47c4b6f21bf0-ack TOOL-OK-914682de7ee0\nn4b7c47c4b6f21bf0-ack TOOL-OK-914682de7ee0",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-prompts-get-basic-20261010-d75374",
      "runId": "2026-10-10T18-33-17-515Z-d75374",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "prompts.get.basic",
      "caseHash": "71929438ab28a581cf36bb5436ed17b23c8d4e2510e611335af66c306b1be25d",
      "feature": "prompts.get",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:33:20.892Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": "10c9a574121a32e6f2daf29c18561092d9f48fb7",
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered the prompt via prompts/list",
          "met": true
        },
        {
          "id": "got",
          "kind": "request",
          "description": "client fetched lab_greeting with the run's nonce as its argument",
          "met": true
        },
        {
          "id": "prompt-reached-model",
          "kind": "output",
          "description": "the prompt's messages were sent to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 6,
          "dir": "in",
          "method": "prompts/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "prompts/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 7,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "prompts": [
                {
                  "name": "lab_greeting",
                  "description": "MCP lab fixture: a prompt with one argument.",
                  "arguments": [
                    {
                      "name": "name",
                      "description": "Name to include",
                      "required": true
                    }
                  ]
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 1
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "prompts/get",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "prompts/get",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              },
              "name": "lab_greeting",
              "arguments": {
                "name": "na941ebd61194263e"
              }
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "messages": [
                {
                  "role": "user",
                  "content": {
                    "type": "text",
                    "text": "Reply with exactly this text and nothing else: PROMPT-OK-bb4420149879 na941ebd61194263e"
                  }
                }
              ],
              "resultType": "complete",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "PROMPT-OK-bb4420149879 na941ebd61194263e\nPROMPT-OK-bb4420149879 na941ebd61194263e",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-resources-read-basic-20261010-d75374",
      "runId": "2026-10-10T18-33-17-515Z-d75374",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "resources.read.basic",
      "caseHash": "51c65d23517bb417570c975b5c5bb9e877a7b5722d920b221df216c6cfce710e",
      "feature": "resources.read",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:33:28.015Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": "10c9a574121a32e6f2daf29c18561092d9f48fb7",
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered resources via resources/list",
          "met": true
        },
        {
          "id": "read",
          "kind": "request",
          "description": "client read lab://fixtures/hello",
          "met": true
        },
        {
          "id": "content-reached-model",
          "kind": "output",
          "description": "the resource content was passed to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 8,
          "dir": "in",
          "method": "resources/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 2,
            "method": "resources/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 10,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "resources": [
                {
                  "uri": "lab://fixtures/hello",
                  "name": "lab_hello",
                  "description": "MCP lab fixture: a static text resource.",
                  "mimeType": "text/plain"
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 2
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "resources/read",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "resources/read",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              },
              "uri": "lab://fixtures/hello"
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "contents": [
                {
                  "uri": "lab://fixtures/hello",
                  "mimeType": "text/plain",
                  "text": "RESOURCE-OK-f46cb3c253e6"
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "RESOURCE-OK-f46cb3c253e6\nRESOURCE-OK-f46cb3c253e6",
      "notes": null
    },
    {
      "slug": "claude-code-2-1-296-tools-call-basic-20261010-d75374",
      "runId": "2026-10-10T18-33-17-515Z-d75374",
      "clientId": "claude-code",
      "clientVersion": "2.1.296",
      "caseId": "tools.call.basic",
      "caseHash": "45f8134078c93d00272b0c760c2e3c5860b49fbe266d444146fa7a6b5e72ffbd",
      "feature": "tools.call",
      "specRevisions": [
        "2025-11-25",
        "2026-07-28"
      ],
      "status": "supported",
      "reason": "all expectations observed",
      "observedAt": "2026-10-10T18:33:36.540Z",
      "mode": "automated",
      "transport": "stdio",
      "era": "modern",
      "protocolVersion": "2026-07-28",
      "labCommit": "10c9a574121a32e6f2daf29c18561092d9f48fb7",
      "os": "win32",
      "nodeVersion": "v24.18.0",
      "outcomes": [
        {
          "id": "listed",
          "kind": "request",
          "description": "client discovered the tool via tools/list",
          "met": true
        },
        {
          "id": "called",
          "kind": "request",
          "description": "client called lab_echo with the run's nonce",
          "met": true
        },
        {
          "id": "result-reached-model",
          "kind": "output",
          "description": "the tool result was passed back to the model",
          "met": true
        }
      ],
      "wire": [
        {
          "seq": 0,
          "dir": "in",
          "method": "server/discover",
          "payload": {
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1",
            "method": "server/discover",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 1,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "supportedVersions": [
                "2026-07-28"
              ],
              "capabilities": {
                "tools": {
                  "listChanged": true
                },
                "prompts": {
                  "listChanged": true
                },
                "resources": {
                  "listChanged": true
                }
              },
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": "server-discover-probe-1"
          }
        },
        {
          "seq": 9,
          "dir": "in",
          "method": "tools/list",
          "payload": {
            "jsonrpc": "2.0",
            "id": 3,
            "method": "tools/list",
            "params": {
              "_meta": {
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                }
              }
            }
          }
        },
        {
          "seq": 11,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "tools": [
                {
                  "name": "lab_echo",
                  "description": "MCP lab fixture: echoes a token back with an acknowledgement.",
                  "inputSchema": {
                    "type": "object",
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "properties": {
                      "token": {
                        "type": "string",
                        "description": "Token to echo"
                      }
                    },
                    "required": [
                      "token"
                    ]
                  }
                }
              ],
              "resultType": "complete",
              "ttlMs": 0,
              "cacheScope": "private",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 3
          }
        },
        {
          "seq": 12,
          "dir": "in",
          "method": "tools/call",
          "payload": {
            "jsonrpc": "2.0",
            "id": 4,
            "method": "tools/call",
            "params": {
              "_meta": {
                "progressToken": 4,
                "io.modelcontextprotocol/protocolVersion": "2026-07-28",
                "io.modelcontextprotocol/clientInfo": {
                  "name": "claude-code",
                  "title": "Claude Code",
                  "version": "2.1.296",
                  "description": "Anthropic's agentic coding tool",
                  "websiteUrl": "https://claude.com/claude-code"
                },
                "io.modelcontextprotocol/clientCapabilities": {
                  "roots": {
                    "listChanged": true
                  },
                  "elicitation": {
                    "form": {},
                    "url": {}
                  }
                },
                "claudecode/toolUseId": "toolu_01289fiu9Mqhyotaw3aC84Xi"
              },
              "name": "lab_echo",
              "arguments": {
                "token": "ncd427288cae854b3"
              }
            }
          }
        },
        {
          "seq": 13,
          "dir": "out",
          "method": null,
          "payload": {
            "result": {
              "content": [
                {
                  "type": "text",
                  "text": "ncd427288cae854b3-ack TOOL-OK-6f75fe8e0583"
                }
              ],
              "resultType": "complete",
              "_meta": {
                "io.modelcontextprotocol/serverInfo": {
                  "name": "abw-mcp-lab",
                  "version": "0.1.0"
                }
              }
            },
            "jsonrpc": "2.0",
            "id": 4
          }
        }
      ],
      "outputExcerpt": "ncd427288cae854b3-ack TOOL-OK-6f75fe8e0583\nncd427288cae854b3-ack TOOL-OK-6f75fe8e0583",
      "notes": null
    }
  ]
}
