ResiliReplay injects deterministic MCP failures, verifies bounded recovery, and turns failures into executable regression tests.
npx --yes resilireplay@latest mcp demoResiliReplay MCP demo
✓ Clean MCP tool call
✓ Deterministic failure reproduced
✓ Recovery bounded to one retry
✓ Duplicate effects observed: 0
✓ Regression generated
✓ Regression executed
MCP reliability check passed.
Evidence: sha256:4d2479b98453732d6011c699c061d023353c8d5cf4159bdf6c5b096961f94c06
The demo is local, deterministic, credential-free, and cleaned up after it runs. It needs Node.js 22 or 24—no repository checkout, configuration, account, API key, paid model, or remote MCP server.
Product site · npm package · real MCP CI example
| Before | After ResiliReplay |
|---|---|
| ✓ Clean tool call | ✓ Clean control |
| ? Recovery behavior unknown | ✓ Deterministic failure reproduced |
| ? Duplicate effect unknown | ✓ Recovery bounded |
| ? No regression | ✓ Duplicate effects: 0 |
| ✓ Regression generated and executed |
- Inject deterministic MCP failures.
- Verify bounded recovery and duplicate-effect behavior.
- Generate executable regressions for CI.
Start with an Inspector-compatible mcp.json. A dry-run reads and sanitizes the selected entry but
starts no process, opens no socket, calls no tool, and writes nothing.
npx --yes resilireplay@latest mcp test --config ./mcp.json --server my-server --tool echo --safety inert --dry-runReview the selected server, transport, tool, fault, retry/time bounds, and plan SHA-256. Execution requires that exact digest:
npx --yes resilireplay@latest mcp test --config ./mcp.json --server my-server --tool echo --safety inert --approve <plan-sha256>Use the same approved plan in CI and request concise machine-readable evidence:
npx --yes resilireplay@latest mcp test --config ./mcp.json --server my-server --tool echo --safety inert --approve <plan-sha256> --jsonmcp test connects with the MCP SDK, discovers only the reviewed operation, runs a clean call,
injects one declared result-boundary fault, applies the bounded retry, counts duplicate effects,
generates a causal regression, executes it, and closes owned resources. mcp audit remains available
with its existing options for compatibility.
The repository contains a complete packed-package example using the official MCP Everything reference server:
name: MCP reliability
on: [pull_request]
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
package-manager-cache: false
- run: node scripts/verify-packed-mcp-example.mjsSee the standalone example for its exact package integrity,
SDK/runtime, protocol revision, inert echo operation, expected output, and generated regression.
It installs the packed CLI in a clean temporary npm project on Windows and Linux CI. This is
product-owned field validation, not an independent adopter claim.
- Local demo: no network target, telemetry, credentials, account, or paid model.
- Real targets: one reviewed config entry and one explicit tool allowlist entry.
- Execution: an exact plan digest, finite timeouts, and at most 10 retries; examples use one.
- Evidence: metadata and hashes replace tool arguments and result bodies before persistence.
- Filesystem: contained paths, link-escape rejection, exclusive regression publication, and cleanup.
ResiliReplay is a reliability tester, not a security certification, sandbox, authorization layer, or claim that every recovery is safe. Only invoke tools whose effects and retry semantics you own and understand. Remote targets require the existing explicit ownership controls.
| MCP surface | Evidence | Boundary |
|---|---|---|
| Bundled deterministic fixture | FIXTURE_VERIFIED |
Local, zero-network demo; clean call, fault, retry, regression, cleanup |
| Inspector-compatible stdio config | LIVE_VERIFIED |
Real SDK transport, allowlisted tool call, bounded recovery |
| Streamable HTTP config | LIVE_VERIFIED |
Loopback/authenticated fixture coverage; remote ownership remains explicit |
| SSE config | PROTOCOL_VERIFIED |
Imported and audited through the supported SDK transport |
@modelcontextprotocol/server-everything@2026.8.18 |
INSTALLATION_VERIFIED + LIVE_VERIFIED |
Pinned local stdio package, inert echo, packed ResiliReplay CLI |
| ResiliReplay MCP server | LIVE_VERIFIED |
Local stdio server with annotated reliability tools |
Evidence labels describe what was executed; they do not imply vendor endorsement. Read the MCP test guide, Inspector compatibility guide, and limitations.
MCP-RES v0.2 is the project-defined, open reliability evidence standard behind the result vocabulary. Its versioned profiles cover identity, bounded recovery, duplicate effects, cleanup, integrity, and executable causal evidence. ResiliReplay is a reference implementation, not a required dependency.
MCP-RES is independent of the official MCP specification. It is not an official MCP standard, security certification, or endorsement. The immutable v0.1 and v0.2 trees, schemas, vectors, conformance tools, governance, and limitations remain available from the standards landing page.
ResiliReplay can also capture sanitized failures from supported agent runtimes and compile them into regressions. This is a secondary workflow; it does not change the MCP-first product path.
Genuine local runtime coverage exists for LangGraph 1.4.9 and OpenAI Agents SDK 0.14.3 using deterministic, no-key models. Claude Code and Codex integrations are installation- and fixture-verified; Hermes is installation-verified. Other named surfaces are documented only. No authenticated hosted model, billed provider call, production API behavior, or vendor endorsement is claimed.
Read framework evidence, agent compatibility, plugin operations, and the framework support policy.
MCP reliability appears first in resilireplay --help:
mcp demo Try a deterministic local MCP reliability test
mcp test Test one reviewed MCP tool with bounded recovery
mcp validate Validate a test configuration without starting it
mcp serve Run ResiliReplay as a local stdio MCP server
mcp audit Preserve the existing lower-level audit workflow
Existing campaign, replay, reporting, adapter, agent capture, and Studio commands remain available.
The root demo command is retained as a hidden compatibility alias for mcp demo; mcp audit is
not removed or weakened.
By default, mcp demo runs in an isolated temporary directory, executes its regression, removes the
directory, and prints one evidence digest. Retain a deterministic bundle only when requested:
npx --yes resilireplay@latest mcp demo --keep
npx --yes resilireplay@latest mcp demo --output ./my-evidence
npx --yes resilireplay@latest mcp demo --json--keep writes .resilireplay/demo/. Explicit output must stay inside the current project. An
identical existing bundle is accepted; a mismatch fails without changing it. The completion manifest
is written last, and JSON output contains only relative artifact paths.
| Code | Meaning |
|---|---|
0 |
Reliability check or side-effect-free validation passed |
1 |
Reliability findings or a failed regression |
2 |
Invalid command use or missing approval |
10 |
Invalid MCP configuration |
11 |
Remote target lacks explicit authorization |
12 |
MCP connection or protocol failure |
13 |
Credential-shaped output detected |
30 |
Demo execution failure |
31 |
Demo artifact containment, conflict, or publication failure |
Campaign-specific codes remain documented in the campaign schema guide.
Run without a global install:
npx --yes resilireplay@latest --versionSupported runtimes are Node.js 22 and 24 on current Ubuntu and Windows GitHub-hosted runners. The npm package is Apache-2.0 licensed and published from a protected GitHub release through npm trusted publishing with OIDC and provenance; no long-lived npm token is accepted by the release workflow.
Capture is off by default. ResiliReplay sends no telemetry and persists no raw prompt, transcript, environment value, authorization header, token, or unrestricted tool body by default. Review SECURITY.md, THREAT_MODEL.md, and docs/LIMITATIONS.md before testing a stateful tool.
Please report vulnerabilities through the repository's private security-reporting path, not a public issue. Reliability failures and compatibility gaps can use the public issue templates.
Focused bug fixes, MCP compatibility evidence, and bounded reliability cases are welcome. Read CONTRIBUTING.md and the case contribution rules. Do not submit credentials, private traces, production tool bodies, or evidence you are not authorized to publish.
Maintainer development uses the repository-pinned toolchain:
pnpm install --frozen-lockfile
pnpm quality
pnpm mcp:example:verifyThe first-time user path never requires a checkout or pnpm. Release gates additionally inspect the packed tarball, test clean installs, scan generated evidence, exercise the cross-platform matrix, and verify immutable MCP-RES v0.1/v0.2 content.
Apache-2.0. See LICENSE.