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
