Getting Started
Download, install, and send your first request in under 60 seconds.
Download the binary
The quickest way to install — auto-detects your OS and architecture:
$ curl -fsSL https://rqwstr.com/install.sh | sh
Or download manually for your platform.
Authenticate with rqwstr setup
This step is required on all tiers — free and Pro. The setup wizard opens your browser for authentication, then downloads your license key and config. Free accounts get a 1-year license; Pro subscribers get their Pro key via the same flow.
$ rqwstr setup Opening browser for authentication... → https://rqwstr.com/api/v1/auth/device/authorize?code=ABCD-1234 Waiting for authorization... ✓ License: Pro (expires 2026-04-08) Config written to ~/.rqwstr/config.toml
Don't have an account yet? Sign up free — it takes 10 seconds.
Add to Your MCP Client
Add rqwstr as an MCP server in your client configuration (e.g. Claude Code, Cursor, or any MCP-compatible client):
{
"mcpServers": {
"rqwstr": {
"command": "rqwstr",
"args": ["serve"]
}
}
}
v2.0.0
Egress is fail-closed until you allow a target
After setup, send, send_h2,
chain, redirect hops, and session_setup
fail closed until an enabled include rule exists — or you deliberately set
[scope].unrestricted = true in server config.
Check the active mode with scope(action="status")
(reports mode and locked).
Operator-file and unrestricted modes are locked against MCP mutation.
scope(action="add", type="include", host_pattern="*.acme.com") scope(action="status")
Immutable JSON policies live on the server as
[scope].file — the old per-hunt
hunt.scope_file input is gone.
file and unrestricted
are mutually exclusive. See
Upgrade to 2.0.0
and the config builder.
Start hunting
Talk to your AI assistant in natural language. It calls rqwstr's MCP tools behind the scenes. Add an include rule first — otherwise the send is rejected:
You:
"Set up a hunt for httpbin.org and allow https://httpbin.org"
Assistant (calls hunt, scope):
Hunt created for httpbin.org. Include rule added for httpbin.org. Scope status: dynamic, unlocked.
You:
"Send a GET request to https://httpbin.org/get and show me the response headers"
Assistant (calls send):
200 OK | 89ms | 1.2kb
Content-Type: application/json Access-Control-Allow-Origin: * X-Powered-By: Flask
You:
"Send a POST to https://httpbin.org/post with JSON body {"username": "admin", "password": "test"} and save it as login-attempt"
Assistant (calls send, save):
200 OK | 112ms | 0.8kb — saved as "login-attempt"
You:
"Search all my stored requests for Set-Cookie headers"
Assistant (calls search):
Found 3 responses with Set-Cookie headers across 12 stored requests.
Next steps
- ✓ Browse the tool reference to see all 17 tools
- ✓ Use the config builder to customize your setup
- ✓ Check your dashboard for license key and account status