Skip to content

docs: add MockServer, WireMock and agent tool mocking to the homepage comparison - #494

Draft
jpr5 wants to merge 1 commit into
mainfrom
feat/homepage-mcp-fakes-matrix
Draft

jpr5 wants to merge 1 commit into
mainfrom
feat/homepage-mcp-fakes-matrix

Conversation

@jpr5

@jpr5 jpr5 commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

What changed

  • The main comparison table on the homepage has two new columns, MockServer and WireMock. Every existing row has a cell for each of them.
  • Two new rows sit directly after "MCP tool mocking": Scenario-scoped MCP tool fakes and Fail on undeclared MCP tool.
  • A new Agent tool mocking table sits below the main one. It compares aimock MCP fakes, Mastra Experiment Tool Mocks and MockServer MCP mocking.
  • A fix for the homepage scrolling sideways on phones. That bug already existed in the Record section, and a one-line CSS change fixes it. Below 1140px, the tables now scroll sideways inside their own box. From 1140px up, the sticky header works as before.

Only docs/index.html changes.

Evidence for every cell

Each competitor cell is backed by a documented source, checked on 2026-10-05. The aimock cells describe aimock's own features (MCP fakes shipped in #490). The ✗ cells for MSW, VidaiMock, mock-llm, piyook/llm-mock and mokksy/ai-mocks in the two new rows follow from their existing ✗ in "MCP tool mocking".

Main table: MockServer and WireMock cells → source

MockServer pages are under https://www.mock-server.com/mock_server/. WireMock pages are under https://wiremock.org/docs/.

Row MockServer Source WireMock Source
Cross-process interception ✓ https://www.mock-server.com/ ✓ standalone/java-jar/, standalone/docker/, solutions/kubernetes/
Chat Completions SSE ✓ llm_response_mocking.html Not documented solutions/ai/
Responses API SSE ✓ llm_response_mocking.html Not documented solutions/ai/
Claude Messages API ✓ llm_response_mocking.html Not documented solutions/ai/
Gemini streaming ✓ llm_response_mocking.html Not documented solutions/ai/
Multi-provider support ✓ llm_response_mocking.html Not documented solutions/ai/
OpenRouter router / fallback simulation Partial (OpenAI-compatible endpoint only; no fallback routing) llm_response_mocking.html Not documented solutions/ai/
WebSocket APIs Partial (Java client only) llm_response_mocking.html Partial (4.x beta, generic WebSocket only) websockets/
Embeddings API ✓ llm_response_mocking.html Not documented solutions/ai/
Image generation ✗ llm_response_mocking.html ("does not ... generate image/audio responses") Not documented solutions/ai/
Image editing ✗ llm_response_mocking.html Not documented solutions/ai/
Text-to-Speech ✗ llm_response_mocking.html Not documented solutions/ai/
Audio transcription Not documented all 93 pages in https://www.mock-server.com/sitemap.xml Not documented solutions/ai/
Audio translation Not documented sitemap scan, as above Not documented solutions/ai/
Non-speech audio ✗ llm_response_mocking.html Not documented solutions/ai/
Video generation Not documented sitemap scan, as above Not documented solutions/ai/
AG-UI event mocking Not documented sitemap scan, as above Not documented all 76 pages in https://wiremock.org/sitemap-0.xml
MCP tool mocking ✓ ai_protocol_mocking.html Not documented solutions/ai/
Scenario-scoped MCP tool fakes (new) Not documented ai_protocol_mocking.html Not documented solutions/ai/
Fail on undeclared MCP tool (new) Not documented ai_protocol_mocking.html Not documented solutions/ai/
A2A agent mocking ✓ ai_protocol_mocking.html Not documented solutions/ai/
Vector DB mocking Not documented sitemap scan, as above Not documented WireMock sitemap scan, as above
Search & rerank Partial (rerank only; no web search) llm_response_mocking.html Not documented WireMock sitemap scan, as above
Record & replay ✓ ai_traffic_inspection.html, configuration_properties.html ✓ HTTP record-playback/
Drift detection Partial (HTTP stubs; LLM cassette drift named, not described) drift_detection.html ✗ OSS wiremock-cloud/ (OSS vs Cloud table)
Sequential / stateful responses ✓ llm_response_mocking.html ✓ HTTP stateful-behaviour/
Request journal ✓ debugging_issues.html ✓ verifying/
Error injection ✓ https://www.mock-server.com/ ✓ HTTP simulating-faults/
Chaos testing ✓ https://www.mock-server.com/ ✗ OSS wiremock-cloud/ (OSS vs Cloud table)
Streaming physics ✓ llm_response_mocking.html Partial (chunked dribble delay only) simulating-faults/
Structured output / JSON mode ✓ creating_expectations.html Not documented solutions/ai/
Programmatic API ✓ 8 languages https://www.mock-server.com/ ✓ Java/JVM java-usage/
Fixture files ✓ JSON initializing_expectations.html ✓ JSON standalone/java-jar/
GitHub Action ✓ https://github.com/marketplace/actions/setup-mockserver Not documented WireMock sitemap scan, as above
Vitest / Jest plugins Partial (framework-agnostic helper, hooks wired by hand) mockserver_clients.html Not documented WireMock sitemap scan, as above
Docker + Helm ✓ https://www.mock-server.com/ ✓ (Helm experimental) standalone/docker/, solutions/kubernetes/
Prometheus metrics ✓ https://www.mock-server.com/ Partial (community extension only) external-resources/
Streaming usage chunks Partial (realtime WebSocket only) llm_response_mocking.html Not documented solutions/ai/
Rate limiting headers Partial (generic 429 rate-limit clause only) llm_response_mocking.html, configuration_properties.html Not documented solutions/ai/
Dependencies JVM, or JVM-less binary https://www.mock-server.com/ JVM standalone/java-jar/
Agent tool mocking table: Mastra and MockServer cells → source

Mastra sources: docs https://mastra.ai/docs/evals/experiments and blog https://mastra.ai/blog/introducing-experiment-tool-mocks. MockServer sources are under https://www.mock-server.com/mock_server/.

Row Mastra Source MockServer Source
Works with any agent framework ✗ (agent targets only) docs ✓ (over MCP HTTP) ai_protocol_mocking.html
MCP tools Not documented docs, blog ✓ ai_protocol_mocking.html
In-process (non-network) tools ✓ docs n/a (a network mock cannot see in-process calls) —
Ordered answers per tool ✓ docs Not documented ai_protocol_mocking.html
Exact-argument matching ✓ docs Not documented ai_protocol_mocking.html
Any-argument matching ✓ docs ✓ (one answer for every call) ai_protocol_mocking.html
Fail on undeclared tool ✓ docs Not documented ai_protocol_mocking.html
Scripted tool errors Not documented docs ✓ ai_protocol_mocking.html
Per-test state and reset ✓ docs Not documented ai_protocol_mocking.html
LLM responses mocked in the same scenario Not documented docs, blog Partial (same server; tool mocks not tied to the LLM scenario) llm_response_mocking.html, ai_protocol_mocking.html
Create fakes from recorded runs Partial (how a mock is made from a trace is not described) docs ✓ ai_traffic_inspection.html, ai_mcp_tools.html
Report unused mocks ✓ docs Not documented ai_protocol_mocking.html
Workflows Planned blog n/a —

Proof

  • Competitor scan dry run. Before: "Parsed 38 capability rows, 6 competitor columns". After: "Parsed 40 capability rows, 8 competitor columns".
  • Tests. The competitive-matrix test suite passes against the new page. No test was edited.
  • Live demo. A live demo with the real MCP client shows that both new rows ("Scenario-scoped MCP tool fakes" and "Fail on undeclared MCP tool") are true for aimock.
  • Screenshots. Checked at 375, 430, 900, 1024, 1280 and 1440px wide. At 375 and 430 the page no longer scrolls sideways; the tables scroll inside their own box and the rest of the page stays put. At 900 and 1024 the same happens, with the table scrollbar at the bottom of the table. At 1280 and 1440 the full table fits with all nine columns visible and the header stays sticky while scrolling. The page never scrolls sideways at any width.

Known limits and follow-ups

  • From 1140px up the table fits with only about 10px to spare. That is the price of keeping the sticky header, so a future wider column needs another look.
  • Between 769 and 1139px the sideways scrollbar sits at the bottom of a tall table.
  • The weekly competitor scan does not track the MockServer and WireMock columns yet. A follow-up PR handles that.
  • The scan does not update provider-count cells on migration pages (replaceProviderCount). This predates this PR.

Release note

Merging deploys the homepage, which then advertises MCP fakes. They are on main (#490) but not in any npm release yet. Consider releasing first, or merging alongside a release.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AKuRWApa4KRBia1X1F3anz

… comparison

Add MockServer and WireMock columns to the main comparison table, and
two rows after "MCP tool mocking": "Scenario-scoped MCP tool fakes" and
"Fail on undeclared MCP tool". Every new cell takes the mark of its
competitor claim. Every new no-cell uses the exact shape the matrix
scan can flip. The scan now parses 40 capability rows and 8 competitor
columns.

Add an "Agent tool mocking" table below the main table. It compares
aimock MCP fakes, Mastra Experiment Tool Mocks and MockServer MCP
mocking. It does not use the comparison-table class, so the scan
ignores it. "Create fakes from recorded runs" says Planned, and
"Report unused mocks" for aimock is partial: the fakes endpoint
exposes consumed state, but nothing reports unused fakes.

Below 1140px both tables scroll sideways inside their wrapper, with the
row labels pinned on the left. The 9-column matrix needs 1045px and
fits the content column from a 1109px viewport; 1140px leaves room for
a classic scrollbar. At 1140px and up the header is sticky below the
nav, as before. The first header cell keeps 1rem left padding so
"Capability" lines up with the row labels, and the aimock header link
inherits the header text colour so it is visible on the accent
background.

The record/replay grid uses minmax(0, ...) tracks, so the terminal's
long command line scrolls inside its panel instead of widening the
page. At a 375px viewport the page was 719px wide; it is now 375px.

The Switch section no longer claims a migration guide for every tool
in the table.

Claude-Session: https://claude.ai/code/session_01AKuRWApa4KRBia1X1F3anz
@pkg-pr-new

pkg-pr-new Bot commented Oct 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

npm i https://pkg.pr.new/@copilotkit/aimock@494

commit: d0398c0

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant