Open source · Early access
Mock APIs your AI agent can control
Upload an OpenAPI or Postman file and get a live mock URL, so your frontend, your tests and your AI agents can start before the backend ships. A built-in MCP server lets your agent list mocks and change their responses.
$ curl https://app.chemvl.com/m/platform/orders-v2/orders/42 HTTP/1.1 200 OKcontent-type: application/json { "id": 42, "status": "shipped", "total": 129.5, "currency": "USD"}
How it works
From schema to live URL in three steps
Import your schema
Upload an OpenAPI or Postman file, or paste its URL.
Get a live URL
Your mock answers at a stable URL like
/platform/orders-v2that the whole team can use.Call it, or let your agent
Point your app and tests at the URL. Your AI agent can change what it returns over MCP.
For AI agents
Let your AI agent shape the mock
mockvl includes an MCP server. Connect Claude Code, Codex, Gemini CLI, Oh My Pi, VS Code, Cursor or any other MCP client with a personal access token, and your agent can read your mocks and change the responses they return.
$ claude mcp add --transport http mockvl https://app.chemvl.com/api/mcp \ --header "Authorization: Bearer <your-token>"
$ export MOCKVL_TOKEN=<your-token>$ codex mcp add mockvl --url https://app.chemvl.com/api/mcp \ --bearer-token-env-var MOCKVL_TOKEN
$ gemini mcp add --transport http mockvl https://app.chemvl.com/api/mcp \ --header "Authorization: Bearer <your-token>"
{ "mcpServers": { "mockvl": { "type": "http", "url": "https://app.chemvl.com/api/mcp", "headers": { "Authorization": "Bearer <your-token>" } } }}
$ code --add-mcp '{"name":"mockvl","type":"http", "url":"https://app.chemvl.com/api/mcp", "headers":{"Authorization":"Bearer <your-token>"}}'
{ "mcpServers": { "mockvl": { "url": "https://app.chemvl.com/api/mcp", "headers": { "Authorization": "Bearer <your-token>" } } }}
list_mocksList your mocks and their URLs.list_mock_endpointsList a mock's endpoints and status codes.update_mock_responseSet a custom JSON response.reset_mock_responseGo back to the schema response.add_mockCreate a new mock.add_mock_endpointsAdd endpoints to a mock.add_mock_responseAdd a response to an endpoint.
Why mockvl
A mock that behaves like the real API
Realistic responses
Answers come from the examples in your schema, or from generated data when you want variety.
Any response, per request
Ask for a status code, a named example, or generated data with a fixed seed, using a Prefer header or query parameters.
One URL for the whole team
Share the mock URL with frontend, QA and your agents. Everyone calls the same mock.
Version history and re-sync
Re-sync from the schema URL when the API changes. Every change is a version you can restore.
Pricing
Free for personal projectsPaid plans for teams
FAQ
Questions, answered
When does it launch?
There's no fixed date yet. Invites go out in small batches as early access opens, and people on the waitlist are first.
Is there a free plan?
Yes. mockvl is free for personal projects. Teams will have paid plans.
Which formats are supported?
OpenAPI 3.x and Postman v2 collections, in JSON or YAML. Upload a file or import it from a public https URL. No schema yet? You can also start blank and add endpoints by hand.
Is my schema private and secure?
Your schemas live in your workspace, and only the people you invite can see or edit them. The mock URL needs no credentials so your app and tests can call it directly, so keep real secrets out of your examples.
Is it open source?
Yes. The source is on GitHub.
Early access
Get early access to mockvl
Join the waitlist and you'll get an invite as soon as mockvl opens.
Questions? Write to contact@chemvl.com.