Other formats agents might prefer:
markdownjsonllms.txt

Agent? You probably want markdown or json, or Pod over MCP.

Reported issues for mcp-failure-lab

Pod holds 16 of 17 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to mcp-failure-lab.

Most discussed

docs: add MCP client launch configuration example

Problem

The README explains how to run MCP Failure Lab from a terminal, but it does not provide a copyable configuration for launching the published package from an MCP client.

Expected work

Add a concise MCP client configuration example that launches the server through npx without requiring a global installation.

Acceptance criteria

  • Add a JSON configuration example using npx, -y, mcp-failure-lab, and serve.
  • Explain briefly where users typically place the command and

Read the thread · 2026-08-16 · open · 5 comments

feat: add Streamable HTTP transport

Context

MCP Failure Lab currently serves over stdio. Streamable HTTP is needed for clients and deployments that do not use process-based transport.

Scope

  • Add a Streamable HTTP serving mode using the MCP SDK transport.
  • Reuse server construction and tool registration.
  • Define host, port, session, shutdown, and diagnostic behavior.
  • Add deterministic lifecycle and integration coverage.

Acceptance criteria

  • The server starts and stops cleanly over Streamable HTTP.
  • Existing too

Read the thread · 2026-08-21 · closed · 1 comment

feat: define the target-client adapter interface

Context

External client orchestration needs a small, stable boundary before client-specific adapters are implemented.

Scope

  • Define startup, readiness, invocation, timeout, cancellation, and cleanup responsibilities.
  • Define how adapter observations map to scenario recordings.
  • Keep transport and process management outside tool implementations.
  • Add a deterministic contract-test adapter.

Acceptance criteria

  • Ownership and cleanup semantics are explicit.
  • Adapter failures are

Read the thread · 2026-08-21 · closed · 1 comment

Validate npm package contents before publishing

Summary

Add strict npm package-content validation to the publish workflow before npm publish.

Required changes

Update .github/workflows/publish.yml so the Verify package contents step does more than run npm pack --dry-run. The step must inspect the package file list, either from dry-run JSON output or from a temporary tarball.

The validation must fail when:

  • a required published file is missing;
  • an unexpected file is included; or
  • the npm bin target dist/cli.js is missi

Read the thread · 2026-08-20 · open · external user · 1 comment

docs: add npm package badge to README

Problem

MCP Failure Lab is published on npm, but visitors to the GitHub repository cannot immediately see its npm availability or current published version.

Expected work

Add an npm version badge near the top of the README that links to the public npm package page.

Acceptance criteria

  • Add an npm version badge for mcp-failure-lab near the README title.
  • Link the badge to https://www.npmjs.com/package/mcp-failure-lab.
  • Use meaningful alt text.
  • Keep the existing README layou

Read the thread · 2026-08-16 · closed · 1 comment

feat: migrate to MCP SDK v2 and support 2026-07-28

Context

MCP Failure Lab currently uses @modelcontextprotocol/sdk@^1.30.0 and negotiates MCP 2025-11-25.

The 2026-07-28 protocol changes some assumptions the lab currently relies on, including initialization, sessions, and server-initiated requests. Before adding more protocol-level faults, move the project onto the current SDK/protocol model.

This should be a migration only. New fault behavior belongs in separate issues.

Scope

  • Migrate from the v1 monolithic SDK to the appropri

Read the thread · 2026-08-23 · closed · 0 comments

feat: add protocol-level ping/liveness scenario during in-flight tool calls

Context

MCP Failure Lab can currently delay, hang, or disconnect a tool call, but the disconnect fault is triggered directly by the lab.

A real MCP failure case can happen through protocol-level liveness handling instead:

  1. A client starts a long-running tool call.
  2. While the call is in flight, the server sends an MCP protocol ping request to the client.
  3. The client fails to respond correctly, returns an unsupported-method error, or does not respond.
  4. The server treats the connect

Read the thread · 2026-08-23 · open · 0 comments

feat: orchestrate scenarios against external MCP clients

Context

Issue #16 defines the target-client adapter contract. Once that boundary is available, the scenario runner needs orchestration that executes scenarios through configured external clients.

Depends on

  • #16

Scope

  • Select and configure a target-client adapter.
  • Start the target client and wait for readiness.
  • Execute the primary scenario call through the adapter.
  • Preserve timeout, cancellation, observer, cleanup, and reporting semantics.
  • Surface adapter startup and exec

Read the thread · 2026-08-21 · open · 0 comments

Most recent

feat: add malformed-message fault scenarios

Context

The current fault tools cover timing and transport loss but cannot reproduce invalid MCP or JSON-RPC messages.

Scope

  • Define deterministic malformed-message variants.
  • Implement the smallest required transport-level mechanism.
  • Bound payload size and activation count.
  • Record client-visible outcomes and cleanup behavior.

Acceptance criteria

  • Every variant has explicit activation and observable behavior.
  • Faults cannot continue indefinitely or affect unrelated sessions

Read the thread · 2026-08-21 · open · 0 comments

feat: add JUnit scenario reporting

Context

The scenario runner supports console and JSON reports, but CI systems commonly consume JUnit XML for native test reporting.

Scope

  • Add junit as a report format.
  • Map assertion failures to test failures and execution errors to test errors.
  • Include primary and observer durations and diagnostics.
  • Preserve existing console and JSON behavior.

Acceptance criteria

  • Output is valid JUnit XML.
  • XML-sensitive content is escaped.
  • Primary failures, observer failures, and ex

Read the thread · 2026-08-21 · open · 0 comments

feat: add duplicate-response fault scenarios

Context

Clients need deterministic coverage for duplicate responses caused by server, proxy, or retry defects.

Scope

  • Emit a bounded duplicate response for one configured request.
  • Define timing, correlation, and cleanup behavior.
  • Record the client-visible outcome.
  • Add integration and end-to-end coverage.

Acceptance criteria

  • The fault targets an explicit request and is bounded.
  • Duplicate responses preserve the intended request identifier.
  • Tests cover activation, client

Read the thread · 2026-08-21 · open · 0 comments

feat: add session-loss fault scenarios

Context

Transport disconnection does not model a session that becomes invalid during or between requests.

Scope

  • Define deterministic session-loss activation points.
  • Invalidate only the targeted session.
  • Expose clear behavior for active and subsequent requests.
  • Add cleanup, integration coverage, and examples.

Acceptance criteria

  • Session loss targets a specific session.
  • Active-request and between-request behavior are documented.
  • Tests cover activation, observable failur

Read the thread · 2026-08-21 · open · 0 comments

bug: MCP server reports stale version metadata

Before submitting

  • I searched existing issues and pull requests for this problem.
  • I can reproduce this using the latest version from main.
  • This report does not contain secrets or sensitive data.

Problem

The MCP server reports stale version metadata during initialization.

The current package version is 0.3.1, but an MCP client connecting to the server receives serverInfo.version as 0.1.0.

The server version is currently hardcoded in src/server.ts, so it can become

Read the thread · 2026-08-17 · closed · 0 comments

test: verify npm package contents before publishing

Problem

The package is now published on npm, but the project does not have an automated check confirming that the generated package contains the files required by users.

Expected work

Add a deterministic validation that inspects the output of npm pack --dry-run --json and fails when required package files or executable metadata are missing.

Acceptance criteria

  • Run npm pack --dry-run --json without publishing a package.
  • Verify that the package includes the compiled CLI entry

Read the thread · 2026-08-16 · open · 0 comments

feat: add Streamable HTTP transport support

Problem

MCP Failure Lab currently serves MCP over stdio only. Clients that connect over Streamable HTTP cannot use the existing fault tools.

Proposed behavior

Add an explicitly selected Streamable HTTP mode to the existing serve command:

mcp-failure-lab serve --transport http

The HTTP mode must reuse createServer() and the existing fault registrations.

Defaults:

  • Host: 127.0.0.1
  • Port: 3000
  • Path: /mcp

Stdio remains the default when --transport is omitted

Read the thread · 2026-08-15 · closed · 0 comments

feat: define a target-client adapter contract

Problem

The current runner calls MCP Failure Lab through its own in-process MCP client. This validates the lab and its scenario semantics, but it does not verify how an external MCP client reacts to controlled faults.

Proposed behavior

Define a narrow target-client adapter contract that lets the scenario runner launch or connect to a client under test, observe its behavior, and clean up all owned resources.

Acceptance criteria

  • Document the lifecycle and ownership boundaries for a

Read the thread · 2026-08-15 · open · 0 comments

The remaining reports are on the project's issue tracker.