
Live API tests,
without writing tests.
Import your Postman collection or OpenAPI spec. MeshTest generates a full regression suite with auth auto-detected, drift detection built in, and an MCP server so Claude, Cursor, or any AI agent can run your tests directly. In one command.
npm install -g @meshtest/cli$meshtest generate --from postman ./collection.json
✓ Parsed 12 requests across 3 folders
✓ Auth detected: bearer
✓ Environment vars: 4
✓ CRUD chains detected: 2
✓ Generated meshtest.yaml
$meshtest run --env staging
meshtest › payment-api › staging
▸ Invoices
✓ List invoices 156ms
✓ Create invoice 342ms
✓ Get created invoice 198ms
✓ Update status 204ms
✓ Delete invoice 134ms
✓ All 12 tests passed (2.3s)You already have your API's spec.
So why are you writing tests from scratch?
Your team's Postman collection describes what your API does. Your OpenAPI spec describes what it should do. Both sit unused when it's time to catch a regression in staging.
Writing a proper regression suite from scratch is a week of engineering nobody has time for. And it goes stale the moment someone ships a new endpoint.
MeshTest turns the spec you already have into the test suite you always wanted. One command. Runnable in CI. Drivable by AI agents.
Three commands. That's it.
From a Postman collection to a drift-detecting test suite in the time it takes to read this sentence.
Generate a manifest from your spec
meshtest generate at your Postman collection or OpenAPI spec. It parses every request, auto-detects auth, extracts environment variables, and identifies CRUD chains so dynamic IDs flow naturally between related tests. The output is a plain-YAML meshtest.yaml you commit to your repo.$meshtest generate --from postman ./collection.json -o meshtest.yaml
✓ Parsed 12 requests, 3 folders
✓ Auth detected: bearer (extracted from headers)
✓ Env vars: 4 → ${API_URL}, ${AUTH_TOKEN}, ${TENANT}, ${CLIENT_ID}
✓ CRUD chains: 2 (POST → GET → PATCH → DELETE)
✓ Wrote meshtest.yamlRun against staging. See what actually works.
meshtest run executes every test in your manifest against your live environment. Captures response values between tests. Times every request. Fails loudly on unexpected status codes, body shape changes, or slow endpoints.$meshtest run --env staging
meshtest › payment-api › staging
▸ Invoices
✓ List invoices 156ms
✓ Create invoice 342ms → captured: invoice_id
✓ Get created invoice 198ms
✓ Update status 204ms
✓ Delete invoice 134ms
▸ Subscriptions
✓ List subscriptions 178ms
✓ Get subscription 222ms
✓ All 12 tests passed (2.3s)Snapshot responses. Fail CI when they change.
meshtest diff --record saves a baseline snapshot of every response. Later runs compare against the baseline — different status? removed field? doubled latency? — and exit non-zero for CI to catch it. Baselines are plain JSON. Commit them, review them, roll them back like any code.$meshtest diff --tag v1.2.0
meshtest › payment-api › drift check
✓ List invoices (matches baseline)
✓ Create invoice (matches baseline)
✗ Get invoice by id
status: 200 → 404
body: removed 3 fields
✓ Update status (matches baseline)
✗ 1 drift detected (exit 1)Not just a test runner.
MeshTest ships with what most teams end up building themselves — auth handling, drift detection, environment resolution, AI-agent integration — so you skip straight to the useful part.
Zero-config generation
Imports Postman/OpenAPI directly. Auto-detects the five common auth patterns. Extracts environment variables. Chains CRUD requests so dynamic IDs flow naturally between tests. You don't hand-author manifests — you generate them.
Baseline drift detection
Snapshot every response's status, body, and latency. Every subsequent run compares against the snapshot and fails CI on semantic changes. No hand-written assertions. No maintenance.
AI-agent native
Ships as an MCP server too. Claude Desktop, Cursor, Windsurf, or any MCP-compatible agent can run your regression tests via natural language. Same manifest. Same auth. Driven by an AI.
Portable & open
Plain YAML manifests. Plain JSON baselines. No lock-in, no cloud dependency, no vendor account. Move to any other tool the moment you want to — nothing has to be rewritten.
Real auth, not toy auth
Bearer, API key, basic, custom header, and OAuth token-fetch with caching. Shared profiles across services. Per-suite and per-test overrides. Auth 'none' to strip. Everything a real production API actually needs.
Capture chains + hooks
Setup and teardown hooks per suite. Capture response values with JSONPath and reuse them across tests. Built-in vars (run_id, timestamp, random_int) for realistic payloads. CRUD lifecycles just work.
CLI for humans. MCP for agents.
Same meshtest.yaml. Same tests. Same auth. Same baselines. Whether an engineer or Claude runs the suite, the result is identical.
The CLI
For engineers and CI. Ships as the meshtest binary. Generate manifests, run tests, record baselines, diff against them. Wire into GitHub Actions, GitLab CI, CircleCI, or any container that runs Node.
- Terminal-first, human-friendly output
- Parallel test execution with per-suite tagging
- JSON output flag for machine consumption
- Manifest auto-discovery across a repo
The MCP server
For AI agents. Ships as the meshtest-server binary. Speaks the Model Context Protocol natively. Wire into Claude Desktop, Cursor, Windsurf, or any MCP-compatible client and let the agent drive your tests via natural language.
- Five MCP tools: discover, run, probe, diff, explain
- Claude Desktop verified working
- Multi-repo registry support via config
- Rule-based or LLM-powered failure diagnosis
The gap MeshTest fills.
Each tool below is genuinely good at what it does. MeshTest occupies the space between them: zero-config CI regression testing that speaks Postman and OpenAPI, plus MCP so AI agents can drive it.
| Capability | MeshTest | Newman | Postman Cloud | Bruno | k6 | DD Synthetic |
|---|---|---|---|---|---|---|
| Import Postman collection | ✓ | ✓ | ✓ | ✓ | – | – |
| Import OpenAPI spec | ✓ | – | Partial | Partial | Partial | Partial |
| Auto-detect auth from spec | ✓ | – | – | – | – | – |
| Baseline drift detection | ✓ | – | – | – | – | ✓ |
| Runs in CI (no cloud required) | ✓ | ✓ | – | ✓ | ✓ | – |
| AI-agent driven (MCP) | ✓ | – | – | – | – | – |
| Zero-config CRUD chains | ✓ | – | – | – | – | – |
| Plain-text, git-friendly config | ✓ | ✓ | – | ✓ | ✓ | – |
Partial means the tool ingests OpenAPI in some form — usually as raw requests you then configure yourself. Only MeshTest auto-generates a runnable test manifest with auth, expectations, and CRUD chains straight from the spec. Every tool listed is genuinely good at what it does; the point of this table is to show which gap MeshTest is filling.
Built for the messy middle.
The teams whose APIs are past prototyping but not yet SLA-monitored. Where the spec exists but the tests don't.
Maintaining production HTTP APIs. Want CI regression testing without standing up Postman Cloud or Datadog Synthetic.
Standardising testing across a fleet of services. Need one manifest format, one runner, one baseline store — that engineers on any service can adopt in an afternoon.
Where every release ships breaking changes that "should work" and sometimes don't. Snapshot every response today, notice the regression before your customers do.
Building agents that test production behaviour, not just read source code. MeshTest gives them a native interface via MCP — no glue scripts, no shell parsing.
Start testing the API you already have.
Free to use. No account, no cloud dependency, no signup wall. Installs in the time it takes to write a commit message.
npm install -g @meshtest/cli