| id | course-mcp-tools-l01 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| type | course | |||||||||||||||
| title | What MCP actually is (2026-07-28) | |||||||||||||||
| summary | A stateless JSON-RPC 2.0 surface for tools — no handshake, no sessions, versions in _meta. | |||||||||||||||
| lang | en-US | |||||||||||||||
| content_version | 1 | |||||||||||||||
| status | reviewed | |||||||||||||||
| reviewed_on | 2026-09-12 | |||||||||||||||
| hints |
|
A stateless JSON-RPC 2.0 surface for tools — no handshake, no sessions, versions in _meta.
Read TASK.md, then run the verifier both ways. The 2026-07-28 specification removed the initialize handshake and sessions: servers answer tools/list and tools/call directly, and each request self-describes its protocol version through _meta. Poke the wire samples in scenario/requests/ by hand while you read.
- Predict the response to 04-removed-initialize.json before checking TASK.md
- Map each expected starter failure to a spec line
The lesson's commands run, and you can answer these in your own words (the agent asks; you answer — that is the gate):
- Which command did this lesson run, and what did it decide?
- What failed at the start, and why — in your own words?
- Before trusting a similar change next time, what would you check first?
The command transcript and your answers.