Use synthetic, read-only inputs before testing an ambiguous write.
| Evidence | Record | What it establishes |
|---|---|---|
| Request ID | A distinct ID for each attempt | Response correlation |
| Intended operation | Method, addressed tool, arguments | Input held constant |
| Destination | Observed replica label | Actual routing, not intended routing |
| Response | Status, envelope, result category | Observable outcome |
| Configuration | Application artifact and data connection | Candidate replica differences |
| Fresh process | Result before client-specific setup | Dependence on prior process history |
- [ ] Verify that both destinations were exercised.
- [ ] Compare direct calls with calls through the entry point.
- [ ] Separate missing object context from inaccessible application storage.
- [ ] Treat an object reference separately from permission to use it.
- [ ] State exactly which tools and failure conditions the test covered.
An identity-tool test is not evidence of durable writes or workflow recovery.
Lesson 1.1 · Why a working tool call can fail on another replica
The sheet is the diagnosis. The course is the fix.
Lessons 1.4 to 1.6 build the same contract in TypeScript and Python and send calls through alternating replicas until both give the same answer, in lab 1. Every lab runs on your machine with Docker Compose, and each one ships tests that break the code on purpose so you see them catch it.
Free · four printable pages
The 2026-07-28 migration cheatsheet
Every breaking change next to what replaces it, the error codes and the deprecation clock. We'll email it to you.
More free sheets#
- One MCP request, field by field. Lesson 1.2
- Was it the transport, the protocol or the tool? Lesson 1.3
- Your MCP tool timed out. Did the write happen? Lesson 2.1
- The tool answered. The approval never came. Lesson 3.1
- Health check green, MCP tool still failing. Lesson 8.1
- What MCP 2026-07-28 breaks, and what's only deprecated. Lesson 9.1