mcporter/docs
LDMB123 2bf7a5eab2
Some checks failed
CI / build (${{ matrix.os }}) (macos-15) (push) Has been cancelled
CI / build (${{ matrix.os }}) (ubuntu-latest) (push) Has been cancelled
CI / build (${{ matrix.os }}) (windows-latest) (push) Has been cancelled
pages / Deploy docs (push) Has been cancelled
fix(replay): rewrite response ids during replay (#192)
* feat(record): capture MCP call streams to NDJSON and replay deterministically

mcporter record <session> wraps the runtime transport and appends every
JSON-RPC request, response, and notification to a per-session NDJSON file
under ~/.mcporter/recordings/. mcporter replay <session> reconstructs an
in-memory transport from the recording and matches requests by method +
deep-equal params, returning the recorded response without contacting
the live server.

Use cases:
- Reproduce MCP-backed agent bugs offline (no live Linear quota, no
  Vercel API rate limits)
- Build test fixtures from real call sequences
- Share a session for a postmortem without sharing credentials

The format is plain JSON-RPC over NDJSON with a small _meta field
(direction, server, timestamp). No proprietary blob. Env-var passthrough
(MCPORTER_RECORD=<name>, MCPORTER_REPLAY=<name>) lets the existing
runtime constructor wrap any transport when set.

* fix(replay): attach cause to wrapped errors to satisfy preserve-caught-error lint

* fix(replay): rewrite response ids during replay

* fix(replay): harden record replay modes

Clear conflicting record/replay env vars when spawning wrapped commands, force those commands off the daemon fast path, truncate each recording file at session start, and fail replay close when recorded requests remain unused.

* fix(cli): preserve wrapped command flags

Stop global flag extraction at -- so record/replay wrappers do not consume child command flags, and drop the release-owned changelog entry from the PR diff.

* fix(replay): propagate cleanup failures through cli

Ensure replay-mode transport close failures escape normal runtime and CLI cleanup after best-effort shutdown has completed. Add runtime and CLI regressions for partial recordings that leave requests unreplayed.

* fix: harden record replay runtime paths

* test: align replay fixtures with windows home

---------

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-05-31 08:52:02 +01:00
..
adhoc.md docs: clarify headless OAuth process lifetime 2026-05-17 00:36:39 +01:00
agent-skills.md fix: harden live mcp cli paths 2026-05-09 12:23:33 +01:00
call-heuristic.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
call-syntax.md fix: harden live mcp cli paths 2026-05-09 12:23:33 +01:00
cli-generator.md fix: honor xdg directories 2026-05-04 08:14:31 +01:00
cli-reference.md feat: add list health check flags (#183) 2026-05-20 20:55:21 +01:00
CNAME docs: add static GitHub Pages site 2026-05-06 05:56:02 +01:00
config.md fix: fall back to legacy config after empty xdg home (#185) 2026-05-21 22:15:13 +01:00
daemon.md fix: support daemon idle timeout config 2026-05-20 17:34:42 +01:00
emit-ts.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
hang-debug.md fix: extend oauth browser timeout 2026-05-08 03:56:38 +01:00
import.md feat: support static oauth clients 2026-05-04 08:03:13 +01:00
index.md feat: add mcporter serve bridge 2026-05-13 20:26:12 -04:00
install.md docs: add static GitHub Pages site 2026-05-06 05:56:02 +01:00
known-issues.md docs: clarify headless OAuth process lifetime 2026-05-17 00:36:39 +01:00
livetests.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
local.md fix: harden live mcp cli paths 2026-05-09 12:23:33 +01:00
logging.md fix: patch chrome-devtools auto-connect hang 2026-05-14 12:51:16 +01:00
manual-testing.md docs: document headless OAuth auth flow 2026-05-12 23:59:45 -03:00
mcp.md feat: add resource read command 2026-05-04 07:50:26 +01:00
migration.md fix: honor xdg directories 2026-05-04 08:14:31 +01:00
pnpm-mcp-migration.md docs: add doc summaries 2025-11-08 03:53:10 +00:00
quickstart.md feat: add list health check flags (#183) 2026-05-20 20:55:21 +01:00
record-replay.md fix(replay): rewrite response ids during replay (#192) 2026-05-31 08:52:02 +01:00
refactor.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
RELEASE.md fix: harden generated cli bundles 2026-05-14 19:22:37 +01:00
shortcuts.md docs: add list_tools shortcut 2025-11-12 02:46:32 +00:00
social-card.png docs: add static GitHub Pages site 2026-05-06 05:56:02 +01:00
social-card.svg docs: add static GitHub Pages site 2026-05-06 05:56:02 +01:00
spec.md fix: honor xdg directories 2026-05-04 08:14:31 +01:00
subagent.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
supabase-auth-issue.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00
tmux.md fix: extend oauth browser timeout 2026-05-08 03:56:38 +01:00
tool-calling.md fix: harden live mcp cli paths 2026-05-09 12:23:33 +01:00
windows.md style: apply oxfmt formatting 2026-04-18 19:33:22 +01:00