Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Deliberately faulty MCP server for testing how agent clients handle tool errors and disconnects.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
LAB_SCENARIO, LAB_DELAY_MS, LAB_FAILURES必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"failure-lab": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LAB_SCENARIO",
"-e",
"LAB_DELAY_MS",
"-e",
"LAB_FAILURES",
"ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2"
],
"env": {
"LAB_SCENARIO": "your-value",
"LAB_DELAY_MS": "your-value",
"LAB_FAILURES": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add failure-lab --env LAB_SCENARIO=your-value --env LAB_DELAY_MS=your-value --env LAB_FAILURES=your-value -- docker run -i --rm -e LAB_SCENARIO -e LAB_DELAY_MS -e LAB_FAILURES ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"failure-lab": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LAB_SCENARIO",
"-e",
"LAB_DELAY_MS",
"-e",
"LAB_FAILURES",
"ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2"
],
"env": {
"LAB_SCENARIO": "your-value",
"LAB_DELAY_MS": "your-value",
"LAB_FAILURES": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"failure-lab": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LAB_SCENARIO",
"-e",
"LAB_DELAY_MS",
"-e",
"LAB_FAILURES",
"ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2"
],
"env": {
"LAB_SCENARIO": "your-value",
"LAB_DELAY_MS": "your-value",
"LAB_FAILURES": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
LAB_SCENARIO envLAB_DELAY_MS envLAB_FAILURES envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント cloudlabworks で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.2)がレジストリに届いたのは4 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, AvaHR
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read hiring data and create inactive assessment and questionnaire drafts for human review.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A deliberately faulty MCP server and a bounded reference-client harness. v0.1.0, MIT. Built on the official MCP TypeScript SDK 2.3.1, not a replacement protocol implementation.
Requires Docker. The image uses Node 24 and pinned npm dependencies.
docker build -t mcp-failure-lab:local .
docker run --rm --network none --read-only --cap-drop ALL --security-opt no-new-privileges mcp-failure-lab:local npm test docker run --rm --network none --read-only --cap-drop ALL --security-opt no-new-privileges mcp-failure-lab:local node runner.mjs
The last command prints JSON results and OpenAI-message-shaped traces from seven deterministic runs. No language model participates. Timings are observed elapsed milliseconds, not benchmarks. The test command exits nonzero on a regression; the demo command emits observations, not a grading verdict.
For local development: npm ci --ignore-scripts, then npm test.
From the published image (Official MCP Registry: io.github.cloudlabworks/mcp-failure-lab):
docker run -i --rm -e LAB_SCENARIO=tool-error ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2
From v0.1.2, each release has build provenance signed through Sigstore by the publish-mcp workflow. With the GitHub CLI:
gh attestation verify oci://ghcr.io/cloudlabworks/mcp-failure-lab:0.1.2 --repo cloudlabworks/mcp-failure-lab
gh attestation verify mcp-failure-lab-0.1.2.tar.gz --repo cloudlabworks/mcp-failure-lab
The second command checks the source tarball from the GitHub Release. To verify offline, add --bundle mcp-failure-lab-0.1.2.tar.gz.intoto.jsonl (the provenance file attached to the same release).
| LAB_SCENARIO | Injected behavior | Reference-client expectation |
|---|---|---|
| healthy | Normal tool response | One success |
| tool-error | Valid result with isError=true | Stop at configured attempt budget |
| transient-error | First LAB_FAILURES calls fail | Recover if the attempt budget permits |
| delay | Wait LAB_DELAY_MS before tool response | Succeed within deadline or time out |
| malformed | Valid JSON-RPC envelope, invalid text-block value | Reject the tool result |
| disconnect | Exit during a tool response | Report closed connection, not success |
Only the advertised lab_probe tool is affected. Initialization and discovery use the official SDK. The transport wrapper corrupts result shape, not JSON framing; truncated frames, bad IDs, HTTP failures and authentication faults are not implemented.
Configuration is read at process startup. Scenarios reset per process. LAB_DELAY_MS: integer 0–10000 (default 1000). LAB_FAILURES: integer 0–10 (default 2). Values must be plain decimal digits; an unset or empty variable uses the default, and anything else (0x10, 1e3, 7) stops the server with exit code 2. The reference client retries only explicit tool errors, at most five attempts; protocol errors, timeouts and disconnects stop immediately. The harness's tool-call deadline is 10–10000 ms; SDK connection/discovery deadlines are separate. Retries intentionally have no backoff so the generated fixture exposes repeated calls; this is not recommended production retry policy.
Configure a test MCP connection to run this command, with stdin/stdout attached:
docker run --rm -i --network none --read-only --cap-drop ALL --security-opt no-new-privileges -e LAB_SCENARIO=transient-error -e LAB_FAILURES=2 mcp-failure-lab:local
Call lab_probe with {"message":"probe"}. There are no real downstream services, credentials, file-writing tools or listening network ports. Client integrations beyond the included reference client are unverified.
From this repository, with Clinic checked out next to it:
mkdir -p artifacts
docker run --rm --network none --read-only mcp-failure-lab:local node runner.mjs > artifacts/run.json node --input-type=module -e 'import fs from "node:fs"; const r=JSON.parse(fs.readFileSync("artifacts/run.json","utf8")); console.log(JSON.stringify(r.results.find(x=>x.scenario==="tool-error").trace));' > artifacts/tool-error.json node ../agent-trace-clinic/cli.mjs artifacts/tool-error.json --html > artifacts/clinic-report.html
Clinic should identify tool_loop, retry_storm and unhandled_tool_error on this fixture. These are heuristic leads: deliberate bounded retries can also trigger them. No token counts are invented.
MCP conformance is the upstream authority for protocol tests. This project contributes a small fault surface for recovery experiments; it does not claim conformance certification. The official framework currently documents HTTP-based client/server scenario runners. This first release is stdio-only; an upstream scenario adapter and a Streamable HTTP target are next, not shipped capabilities.
Sources checked 2026-10-14:
One transport, one tool, six fault modes, one reference client. Pin SDK upgrades and rerun every fault test. Owner: Cloud Lab Works / Waku. Gherkin review has not been assigned or completed. Before public release: source/dependency review, an independent test pass, and publication approval. Before cloud execution: bounded job budget, teardown, and measured runtime. No cloud account is required for this release. No telemetry or remote reporting. Generated reports stay in ignored artifacts/.
Open the public demo or read the experiment guide. Four controlled before/after cases connect the official MCP reference client to deterministic Clinic inspection. The public sample is recorded local evidence, not a live cloud execution. Cloud adapters and runbook are included.
If you use this project, please cite the accompanying preprint: MCP Failure Lab: Reproducible Tool-Failure Fixtures and Cross-Platform Traces for Testing Agent Reliability. DOI: 10.5281/zenodo.23720942. See the paper page for the abstract and PDF.
@techreport{alvord2026mcp,
author = {Alvord, Alex}, title = {{MCP Failure Lab: Reproducible Tool-Failure Fixtures and Cross-Platform Traces for Testing Agent Reliability}}, institution = {CloudLab Works}, publisher = {Zenodo}, year = {2026}, month = oct, type = {Preprint}, doi = {10.5281/zenodo.23720942}, url = {https://doi.org/10.5281/zenodo.23720942} }