mcp-check-fixture
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-check-fixtureecho 'testing the pipeline'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-check-fixture
The MCP server MCPJam's GitHub PR checks are validated against. This directory is
the seed for the standalone public repository mcpjam/mcp-check-fixture —
the only repo the walking-skeleton check pipeline is wired to
(server/services/github-checks/recipes.ts).
It lives here so it is reviewed alongside the pipeline that depends on it, and so the ops step is "copy and push" rather than "write from scratch".
Publishing it
cp -R test-servers/mcp-check-fixture /tmp/mcp-check-fixture
cd /tmp/mcp-check-fixture
git init && git add -A && git commit -m "mcp-check-fixture: minimal MCP server"
gh repo create mcpjam/mcp-check-fixture --public --source=. --pushpackage-lock.json is committed here on purpose, and must stay committed in the
published repo: the run recipe uses npm ci, which fails outright without one.
A repo missing its lockfile reports build_failed — correctly, but confusingly.
@types/node is likewise a real devDependency, not an assumption about the
build environment: tsconfig.json declares "types": ["node"], and this package
is standalone with no workspace to hoist it from.
Related MCP server: My MCP Server
The two things that must not be "cleaned up"
It listens on the port the recipe declares (3001 / $PORT). The bind
address is not load-bearing — E2B's bridge proxies from inside the sandbox and
reaches loopback-bound servers too (e2e-verified: a 127.0.0.1 bind passed the
check). Listening on any other port is what reports server_unhealthy.
It answers initialize on /mcp immediately. That handshake is the health
probe — the worker polls it until it succeeds. Anything that delays it (a
warm-up, a lazily mounted route) reads as an unhealthy server.
Run recipe
The recipe hardcoded in the Inspector for this repo:
field | value |
|
|
|
|
|
|
|
|
Changing any of those means changing recipes.ts in the same breath.
Tools
Three, all deterministic and side-effect-free — the eval suite's job is to prove the pipeline works, not to be an interesting test:
echo({ text })→ the same textadd({ a, b })→ the sumserver_info()→{"name":"mcp-check-fixture","version":"1.0.0"}
Locally
npm install && npm run build && npm start
curl -s localhost:3001/mcp -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'Exercising the check's failure modes
Each of these is a one-line change, and each should produce a specific check conclusion — useful for verifying the pipeline end to end:
Change | Expected outcome | Check conclusion |
break a tool's return value |
| failure |
introduce a type error |
| failure |
|
| failure |
listen on a port other than 3001 |
| failure |
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- FlicenseAqualityDmaintenanceA simple local MCP server that provides greeting and integer addition tools.2-
- FlicenseNot gradedqualityDmaintenanceA basic MCP server for testing with echo, datetime, and calculator tools.25-
- FlicenseNot gradedqualityDmaintenanceA minimal MCP server providing basic tools for arithmetic, text echoing, and timezone-aware current time retrieval.-
- FlicenseNot gradedqualityBmaintenanceA minimal MCP server with hello and echo tools.-