Advanced curl, native for AI agents.
An agent-native advanced API client - execute and test REST, GraphQL, WebSocket, SSE, and gRPC requests from any MCP-capable AI agent. No GUI, no copy-paste, no context bloat. A lightweight, token-efficient alternative to Postman and Bruno, for AI coding agents.
npx -y lunge-mcp · cursor / windsurf / claude / vscode
{
"tool": "http_request",
"input": {
"method": "POST",
"url": "https://api.example.com/login",
"body": { "user": "a", "pass": "{{secret_pass}}" },
"assert": [
{ "status": 200 },
{ "jsonpath": "$.token", "exists": true },
{ "timeMs": { "lt": 500 } }
],
"extract": { "token": "$.token" }
}
}
→ {
"status": 200,
"timeMs": 142,
"assertions": { "passed": 3, "failed": 0 },
"extracted": { "token": "***redacted***" },
"responseHandle": "resp_a1b2"
}Design pillars
Built for agents, not clickers
Four principles that shape every tool, every response, and every byte on the wire.
Declarative testing
Agent emits JSON, not JavaScript
Postman agent mode makes you write pm.test scripts. Lunge assertions are structured data the model can emit directly - no code generation, no JS to parse, no verbose output.
Matchers: equals, notEquals, in, contains, matches (regex), exists, gt/gte/lt/lte, length, plus not: negation and schema: JSON Schema validation.
Protocols
One server, every protocol
Stop juggling Postman, a WS client, an SSE inspector, and a GraphQL playground. Lunge covers them all behind a single MCP tool surface.
Why this exists
Postman without the Postman
The tools agents already use are GUI-first and verbose. Lunge is the inverse: a small, open, token-thin tool surface designed for the model context.
| Pain with Postman / Bruno | Lunge approach |
|---|---|
| Require human clicking in a GUI | Agent-native: everything is an MCP tool call |
| Postman is heavy, enterprise features are paywalled | Small, open, single local binary + thin MCP layer |
| Verbose responses blow up the LLM context window | Rust core summarizes/compresses output before it reaches the agent |
| Tests are JS scripts you write (pm.test / pm.expect) | Tests are declarative JSON the agent emits (assert + extract) |
| Collections are locked into proprietary formats | Plain YAML/JSON files, git-friendly |
| Separate tools per protocol | One server for REST/GraphQL/WS/SSE/gRPC |
Ship API tests from your editor.
Install Lunge once and every agent you run gets an advanced API client - execute requests, run assertions, replay collections - no GUI, no copy-paste, no context bloat.