Skills

Test Servers

Run a composable MCP test server by hand, pick the showcase config for a feature or...

Install

npx skills add modelcontextprotocol/inspector --skill test-servers -g -a claude-code -y
Category
Testing
Updated
6d ago
License
See repository
Context cost
Mediumabout 3,000 tokens
Runs scripts
No, instructions only

What it does

Run a composable MCP test server by hand, pick the showcase config for a feature or bug, build it, and connect with the right protocol era. Use when a change, a PR or a smoke test needs a real server to exercise it; when reproducing a reported bug by hand; when choosing which fixture or protocol era to run; when a fixture keeps serving stale code after an edit; or when the config or preset you need does not exist yet.

Running a test server

test-servers/ provides composable MCP servers so tests and manual checks exercise a real server over a real transport instead of mocks. A server is assembled from presets (fixture factories in test-servers/src/preset-registry.ts) and configured declaratively with a JSON file under test-servers/configs/.

The full catalogue of showcase configs, one per feature, each with what to click and what the broken build did, is docs/test-servers.md. This skill is how to run one.

Three ways to use a fixture, pick the right one first

A fixture is stood up in one of three shapes, and most of what follows is about the third. Establish which one you are in before reading further, because the showcase config file and the protocol-era table belong to that one alone.

⚠️ The cut is how the server is stood up, not who is driving. Automated and by-hand is the wrong axis: the composable-config shape has both kinds of consumer, and a smoke that spawns it needs every bit of the config and era guidance a person at two terminals does.

ShapeServer runsConfig fileConsumers
In-process HTTPinside the test process, built from the APInone, options are constructor argsintegration tests, CLI tests, smoke:cli
Spawned stdioa child process the transport (or the binary under test) startsnone, the stdio fixture runs its default configintegration tests, the CLI suites, smoke:cli, smoke:tui
Spawned composable HTTPa child process started with --configyes, a showcase --config <name>.jsonthe web smokes, pack:verify, and a person by hand

⚠️ "A smoke" is not a shape, smoke:cli uses the first two and smoke:tui the second, while only the config-driven web smokes use the third. Pick by the row, never by the caller's category.

Read the whole SKILL.md on GitHub

More in Testing