Mockzilla
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_cliA | Check whether the mockzilla CLI is available — either on the system PATH, in the bridge's own cache (~/.cache/mockzilla-mcp/), or via a |
| install_cliA | Install the mockzilla CLI for this user. Three methods — ASK the user which one they want before calling:
• download (recommended): fetch the prebuilt binary for this OS/arch from github.com/mockzilla/mockzilla releases (~38MB). Fast, no toolchain needed.
• go-install: run |
| serve_locallyA | Start ONE mockzilla portable mock server on this machine that serves any number of APIs together — no mockzilla account needed. Pass To test how a client handles a slow or failing API, pass If the user names a well-known API (stripe, twilio, github, openai, slack, etc.) WITHOUT providing a URL, recall the public OpenAPI spec URL from your training knowledge and pass that. Do NOT pass a catalog ID or slug from |
| call_endpointA | Make an HTTP request to a URL and return {status, headers, body}. Use this to demonstrate a mock by hitting it after |
| mock_endpointA | Quickly mock a single HTTP endpoint without writing an OpenAPI spec. Pass Pass Pass Path placeholders like Calling this multiple times accumulates endpoints in the same server — adding |
| list_mock_endpointsA | List all endpoints currently mocked via |
| clear_mock_endpointsA | Wipe ALL mocks created via |
| request_historyA | List the requests the running local server has answered, newest first: method, URL, status, content type, how long it took, and where the response came from (generated, upstream, replay or cache). Use it to show the user what their code actually sent, to confirm a call arrived, or to find the request to look at next. Pass |
| diagnose_requestsA | Explain what is going wrong with the traffic the local server has served, and where each response's data came from. Returns a breakdown by source (generated / upstream / replay / cache), by status and by content type, latency p50/p95/max, and a list of concrete findings: upstream failures that silently fell back to a generated mock, 404s from a wrong mount prefix, a body that is JSON under a non-JSON content type, and unusually slow requests. Prefer this over |
| setup_replayA | Configure replay for a service: record a real response once, then serve it back for every matching request (VCR). Writes a ASK THE USER TWO THINGS BEFORE CALLING:
Match fields come from three sources: |
| list_replaysA | List the replay recordings a service currently holds, so you can tell the user what is pinned and what a matching request will return. Use it after |
| check_github_deployableA | Say whether a GitHub repository (or a local folder) would deploy a mock, and what is missing if not. Use it when the user has a repo and asks whether it can serve mocks, or before adding the action to one. Detects which of the two kinds it is: a portable repo of service folders, or a codegen repo that builds a Go server. Returns |
| list_github_reposA | List the user's GitHub repositories so you can ASK which one to publish mocks to. Never pick one yourself. |
| publish_to_githubA | Publish mocks to one of the USER'S OWN GitHub repositories and let the Mockzilla action deploy them at a shareable host of their own, https://.api.mockz.io. The label is the repository name, with -2, -3 if it is taken. No Mockzilla account is needed: the first push registers the repository. This is the free path for a user who is not logged in, and a valid choice for one who is when they want the mocks living in a repo and reviewed like code. If they are logged in and just want a quick hosted mock, prefer ASK THE USER FIRST, do not guess:
SIDE EFFECTS: uses the user's own Mocks here are static: spec-generated or fixed responses. If the user wants real logic or state, this is the wrong tool; that needs the codegen action and a Go server, and this refuses to publish into such a repository. Keep specs small too, since a free simulation has 128MB and a big spec costs far more in memory than on disk: |
| wait_for_github_deployA | Wait for the Mockzilla workflow run to finish and return the live mock URL, as the action printed it in the run's log. Mockzilla picks the host when the deploy runs, so this is the one place to get it. Call after |
| unpublish_from_githubA | Take down the mocks a repository serves, freeing its simulation slot. Runs the workflow with |
| stop_locallyA | Stop the mockzilla server started by |
| mockzilla_docs_topicsA | List the Mockzilla docs that ship with this bridge: the product docs from mockzilla.org (what a simulation is, deploying, resilient backends, billing, settings, the CLI and this MCP server) and the open-source engine docs under |
| mockzilla_docs_readA | Return the full markdown of Mockzilla doc topics. Pass |
| mockzilla_docs_searchA | Search the Mockzilla docs by keyword. Returns the best matching sections {topic, title, heading, snippet} so you know which topics to read. Use it when no topic title from |
| bridge_statusA | Report the bridge's own version and check whether a newer one is on npm. Returns {bridge_version, bridge_latest, update_available, upgrade_steps}. Call this when the user asks 'is mockzilla-mcp up to date?', or proactively if a tool starts failing in a way that could be a stale-bridge issue. |
| loginA | Log in to Mockzilla cloud so the hosted tools (deploying mocks, listing simulations, the catalog) become available. Opens the Mockzilla login in the user's browser, where they pick an organization and read-only or read-and-write access. Returns right away with the login |
| logoutA | Log out of Mockzilla cloud on this machine. Revokes the connection and deletes the saved login; hosted tools disappear until the next login. Call it when the user asks to log out or to switch organization or access level. |
| discover_specsA | Scan a directory and report what mockzilla can do with it: top-level OpenAPI spec files (with title and endpoint count) plus any folders of static endpoint files mockzilla can serve. Returns a |
| infoA | Summarise an OpenAPI spec or .mockz package without serving it. For a spec, returns {title, version, openapi_version, endpoint_count, paths} with operation IDs. For a package, returns its manifest. Pass |
| lintA | Check an OpenAPI spec for schemas no value can satisfy, such as an array with a scalar enum or additionalProperties: false next to oneOf properties. Mockzilla can't generate valid responses for these, so requests to affected endpoints fail validation. Returns {clean, defect_count, defects: [{rule, path, detail}], truncated}; at most 50 defects are listed. Pass |
| simplifyA | Simplify an OpenAPI spec: drop or reduce union types (anyOf/oneOf), strip x-* extensions, and optionally limit the number of optional properties per schema. Writes the simplified spec to disk and returns its path. Use this when a spec is too large or too complex to mock cleanly (deeply nested unions, hundreds of optional fields) — the output is a faithful subset the agent can hand to Optional-property handling:
• omit Pass |
| packA | Pack a directory of mockzilla services into a Defaults: output is |
| get_contextA | Return the org, role and access ( |
| list_catalog_productsA | List the catalog specs (Stripe, Adyen, etc.) available to attach to a HOSTED sim on mockzilla.org. Returns recommended runtime settings the agent should compare against the org's tier before suggesting a deploy. Pass |
| deploy_mock_from_catalogA | Create a HOSTED, SHAREABLE mock from a catalog spec (Stripe, Adyen, etc.) on mockzilla.org. The mock persists in the user's account and gets a stable URL anyone with the link can hit. Use this when the user wants something durable, team-visible, or reachable from outside their machine — NOT for ephemeral local exploration (use |
| deploy_mock_from_specA | Create a HOSTED, SHAREABLE mock on mockzilla.org from an inline OpenAPI 3.0+ spec (YAML or JSON in the |
| deploy_mock_from_urlA | Create a HOSTED, SHAREABLE mock on mockzilla.org from an OpenAPI 3.0+ spec at a public https URL. The server fetches the spec (SSRF-protected) and parses it. Use this when the user gives you a spec URL AND wants a durable, team-visible result — NOT for ephemeral local exploration (use |
| wait_for_deployA | Block until a sim's deploy reaches a terminal status ( |
| list_simsA | List the sims (deployed mocks) accessible to the current org. Returns a page of sim entries with their refs, statuses, and live URLs. Pass |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Every tool has a clearly distinct purpose, and the descriptions actively cross-reference each other to prevent misselection: deploy_mock_from_* explicitly warns it is NOT valid input for serve_locally, request_history vs diagnose_requests are differentiated as list-vs-diagnose, and wait_for_deploy vs wait_for_github_deploy are separated by deployment target. Even the three near-identical deploy_mock_from_catalog/spec/url tools are cleanly distinguished by input source. With 35 tools this is an exceptional level of disambiguation.
The overwhelming majority follow a consistent snake_case verb_noun pattern (list_replays, serve_locally, deploy_mock_from_catalog, wait_for_github_deploy, unpublish_from_github), and related families share structural prefixes (mockzilla_docs_*, deploy_mock_from_*, wait_for_*). Minor deviations include bare verbs (info, lint, simplify, pack) and a noun-first name (bridge_status), but these are isolated and the overall pattern remains highly predictable.
35 tools is on the heavy side and exceeds the calibration's 25-tool threshold for 'too many', but the domain is genuinely broad: local serving, hosted deployment, GitHub publishing, replay, spec processing, CLI management, and docs each demand their own surface. Some consolidation is possible (deploy_mock_from_spec and deploy_mock_from_url could be one tool; wait_for_deploy vs wait_for_github_deploy) but each tool does earn a place in the platform's scope.
The surface covers the full lifecycle remarkably well: create (serve_locally, mock_endpoint, deploy_*), read (list_sims, list_mock_endpoints, request_history, info), modify (setup_replay, simplify), and delete (stop_locally, clear_mock_endpoints, unpublish_from_github). Workflows are chained explicitly (deploy → wait_for_deploy → list_sims). The only notable gap is the absence of update/delete operations for hosted sims themselves — list_sims lists them but nothing can remove or modify an individual hosted sim.