AI-powered REST Client and API testing in VS Code. Git-native alternative to Postman. YAML .mmt files.
Demo · Website · Request Feature · VS Code · CLI · GitHub Action · Docs · llms.txt
Multimeter is Git-native API testing in VS Code. Requests, tests, mocks, and docs are YAML .mmt files in your repo.
Start with a single HTTP request.
Grow into tests, suites, mocks, reports, documentation, and CI when you need them.
All in the same tool. No migration. No second product.
Simple by default
- ✅ Git-native, file-based YAML
- ✅ Lightweight — no account, no cloud lock-in
- ✅ Collaboration through pull requests, like code
- ✅ The same files locally and in CI
A full testing platform when you need it
- ✅ HTTP, WebSocket, GraphQL, and gRPC
- ✅ Multi-step flows and test suites
- ✅ Mock servers
- ✅ Generated documentation
- ✅ Reports
- ✅ CI with
testlight
AI in the same files
- ✅ Generate tests from an API or a description (Cursor, Copilot, Claude via MCP)
- ✅ Judge replies — semantic similarity, or open-ended checks like how funny a response is
- ✅ Bring your own model (Ollama or cloud)
Multimeter is a VS Code-native extension. All you need:
- Click Install button in Multimeter VS Code Extension
- Open Get Started from the
Activity barand follow the instructions
There you run a POST request as follows:
type: api
title: Simple POST
url: https://test.mmt.dev/echo
method: post
format: json
body:
message: helloThat's enough.
- No suites.
- No mocks.
- No workflows.
- No complexity.
type: test
steps:
- http: https://test.mmt.dev/echo
method: get
expect:
status: 200- Still simple.
- Still Git-native.
- Still easy to review.
As your project grows, Multimeter grows with it.
Add:
- Test suites
- Mock servers
- Documentation
- Workflow execution
- Structured reporting
- CI artifacts
Only when you need them.
Everything stays in the same ecosystem.
Cursor, Copilot, and Claude write and run the same .mmt files you edit in VS Code. MCP (mmt-mcp) gives them scaffold_test, validate, format, and run — generate tests from an API or a description, then keep them in Git.
Judge an API answer in the same test. Compare semantic similarity to an expected reply, or check something open-ended — for example, how funny the response is. Bring your own model (Ollama or cloud). An alternative to a separate Promptfoo eval stack.
See MCP docs · Judge docs
Multimeter validates test definitions before execution.
That means:
- ✅ Earlier feedback
- ✅ More deterministic execution
- ✅ Fewer surprises in CI
- ✅ Easier debugging
- ✅ Reproducible results
GitHub Actions:
- uses: actions/checkout@v4
- uses: mshobeyri/testlight-action@v1
with:
file: tests/suite.mmt
report: junit
report-file: results/junit.xmlOr from a terminal using the Multimeter CLI called testlight.
npm install -g mmt-testlight
testlight run tests/suite.mmtSee the GitHub Action and Testlight install.
Your code, tests, mocks, documentation, reports, and environment settings live in the same repository.
- ✅ Version controlled
- ✅ Code and tests evolve together
- ✅ Reviewable through pull requests
- ✅ Easy to move and share
- ✅ No platform lock-in
- ✅ AI can update code and tests together
- ✅ Environment variables never go missing
- ✅ Historical test results stay with the project
Most API tools focus on requests.
Multimeter focuses on behavior.
Instead of asking:
"Did this request return the expected response?"
Multimeter helps you answer:
"Does this system still behave correctly?"
Multimeter is licensed under the Apache License 2.0.
Demos · Documentation · Website · GitHub
