FFakeMCP

Quickstart Reliability

Build your first deterministic suite, run it, and export reports.

Quickstart: Reliability Testing in CI

Run deterministic reliability suites and gate regressions before production deploys.

Why this exists

Agent failures are often intermittent in live systems. FakeMCP gives deterministic, replayable outputs so teams can run the same checks on every commit.

When to use this vs DIY script

Use FakeMCP when you need shared run history, assertions, replay fixtures, and CI-friendly reports. Use a DIY script when you only need one-off local experiments with no persistence or reporting.

Start local worker

bash
pnpm install
pnpm --filter @fakemcp/mcp dev

Long press or right-click snippet for quick actions

Use this base URL in the commands below:

bash
export BASE_URL="http://127.0.0.1:8787"
export PROJECT_TOKEN="dev-local-token"

Long press or right-click snippet for quick actions

1) Create a suite

bash
curl -sS -X POST "$BASE_URL/v1/suites" \
  -H "Content-Type: application/json" \
  -H "X-Project-Token: $PROJECT_TOKEN" \
  -d '{
    "name": "agent-regression-baseline",
    "visibility": "private",
    "cases": [
      { "server": "github", "scenario": "rate_limit" },
      { "server": "slack", "scenario": "auth_expired" }
    ],
    "assertions": [
      { "field": "retryable", "op": "eq", "expected": true, "severity": "error" }
    ]
  }'

Long press or right-click snippet for quick actions

Save the returned id as SUITE_ID.

2) Create a run

bash
curl -sS -X POST "$BASE_URL/v1/runs" \
  -H "Content-Type: application/json" \
  -H "X-Project-Token: $PROJECT_TOKEN" \
  -d "{
    \"source\": \"ci\",
    \"suiteId\": \"${SUITE_ID}\",
    \"seed\": \"release-2026-02-21\"
  }"

Long press or right-click snippet for quick actions

Save the returned id as RUN_ID.

3) Fetch status and summary

bash
curl -sS "$BASE_URL/v1/runs/${RUN_ID}" \
  -H "X-Project-Token: $PROJECT_TOKEN"

Long press or right-click snippet for quick actions

4) Download machine-readable reports

bash
curl -sS "$BASE_URL/v1/runs/${RUN_ID}/report?format=json" \
  -H "X-Project-Token: $PROJECT_TOKEN"
curl -sS "$BASE_URL/v1/runs/${RUN_ID}/report?format=junit" \
  -H "X-Project-Token: $PROJECT_TOKEN"

Long press or right-click snippet for quick actions

5) Create replay fixture

bash
curl -sS -X POST "$BASE_URL/v1/replays" \
  -H "Content-Type: application/json" \
  -H "X-Project-Token: $PROJECT_TOKEN" \
  -d "{
    \"runId\": \"${RUN_ID}\"
  }"

Long press or right-click snippet for quick actions

The replay response includes replayId, fixtureR2Key, and shareSlug.

Related Guides

View all