rqwstr
rqwstr is an MCP server that lets an AI agent perform low-level HTTP/1.1 and HTTP/2 security testing, fuzzing, racing, OOB detection, and multi-step request workflows.
Send raw HTTP/1.1 and HTTP/2 requests with control over headers, raw headers, request target, SNI, redirects, timeouts, body files, multipart bodies, response saving, connection reuse/pinning, keep-alive, and smuggling-related primitives.
Run Burp Intruder-style fuzzing with sniper, battering ram, pitchfork, and cluster bomb attacks, including payload ranges/files, filters, threading, session setup, and HTTP/2 timing attacks.
Test race conditions with burst, single-packet HTTP/2, and staggered timing modes using repeated or distinct payloads.
Build multi-step request chains with variable extraction, conditional jumps/skips, retries, cookie forwarding, and single-connection reuse.
Send synchronized, staggered, or repeated batches of different requests in parallel.
Detect blind vulnerabilities via Interactsh OOB register/poll/list/deregister workflows.
Manage scope include/exclude rules, presets, and URL checks.
Manage cookie jars via list/get/set/delete/clear/import-from-response actions.
Organize work into hunts with target, proxy, headers, config, notes, and data directory settings.
Store, name, retrieve, grep, and regex-search requests/responses; save/load variable profiles.
Import raw HTTP requests and export stored requests to curl, httpie, python, go, HAR, or raw HTTP.
Encode/decode payloads using URL, double URL, HTML, base64, Unicode, and hex, including chained encodings.
Fetch built-in agent guidance by topic through rqwstr_docs.
rqwstr
AI-native HTTP security testing toolkit, shipped as an MCP server. It gives an AI agent low-level control over HTTP/1.1 and HTTP/2 — raw framing, connection pinning, intruder-style fuzzing, request racing, OOB detection, and multi-step chains — on its own Go engine, rather than wrapping a high-level HTTP client.
rqwstr is free: every tool works right after install, with no account, key or sign-up.
This repository hosts the release binaries and Claude Desktop .mcpb bundles. The source is proprietary. Docs: rqwstr.com.

Real v1.2.0 MCP session against a synthetic loopback fixture: one request, response-side
filtering, stored search, and named retrieval. The capture and renderer are reproducible
from demo/ against v1.2.0; no live target is involved.
Install
Claude Desktop (one-click)
Download the .mcpb for your platform from the latest release and double-click it to add rqwstr as a Claude Desktop extension.
macOS — Apple silicon (
darwin_arm64) or Intel (darwin_amd64)Linux —
linux_amd64orlinux_arm64Windows —
windows_amd64
Standalone MCP server
Download the binary for your platform from the latest release, then point your MCP client at it:
{
"mcpServers": {
"rqwstr": {
"command": "rqwstr",
"args": ["serve"]
}
}
}rqwstr serve runs the MCP server on stdio. Add a scope rule before sending (scope action=add type=include host_pattern=...); requests go direct unless you configure a proxy.
Related MCP server: pentestMCP
Tools
17 HTTP tools:
send · send_h2 · fetch · intruder · race · chain · oob · parallel ·
scope · session · encode · export · save · search · hunt · profile ·
import
Workflows
The HTTP tools cover:
Traffic —
send(HTTP/1.1),send_h2(HTTP/2),fetch,import(Burp / HAR),export(curl / python / requests)Hunt lifecycle —
hunt,scope,save,search,session,profileAttacks —
intruder(sniper, battering ram, pitchfork, cluster bomb),race(single-packet),chain,parallelOOB —
oobwith Interactsh integrationEncoding —
encode(URL, base64, JWT, and more)
Agents discover workflows through the rqwstr_docs tool. Per-hunt state lives in SQLite. Every tool is available to everyone.
Upgrading from v2
v3.0.0 removes rqwstr setup, logout and license; an old config's [license] section is ignored. Requests now go direct unless a proxy is configured. Set [defaults] proxy = "http://127.0.0.1:8080" in ~/.rqwstr/config.toml to keep routing through Burp or Caido.
Verify a download
Each release includes checksums.txt. Verify before running:
# Linux
sha256sum -c checksums.txt
# macOS
shasum -a 256 -c checksums.txtPrivacy Policy
rqwstr's data collection, usage, storage, sharing, retention, and contact practices are documented in the Privacy Policy.
License
Proprietary. © Kjøpstad IT. See rqwstr.com for terms.
Available Tools
18 toolschainA
Execute multi-step request chain with variable extraction between steps. Each extract value is a PLAIN STRING pattern (body regex / cookie:name / header:Name:regex), never a nested object like {"type":"json",...}. See rqwstr_docs(topic="chain") for patterns. Preferred path for authenticated flows: forward_cookies (default true) auto-forwards Set-Cookie between steps — see rqwstr_docs(topic="cookies").
Inputs: steps (required), timeout_ms, stop_on_error, forward_cookies, +3 more.
encodeB
Encode or decode payloads for injection testing. Encodings: url, double, html, base64, unicode, hex. Chain multiple left-to-right. See rqwstr_docs(topic="encoding").
Inputs: value (required), mode, chain, encoding.
exportB
Export a stored request to curl, python, go, httpie, har, or raw HTTP format. See rqwstr_docs(topic="export") for format options.
Inputs: format (required), id, name.
fetchC
Retrieve a stored request/response by ID or name
Inputs: id, grep, name, part, +3 more.
huntC
Set active hunt — creates database if new, loads existing if found. See rqwstr_docs(topic="hunts") for workflow.
Inputs: id (required), notes, proxy, target, +6 more.
importB
Import raw HTTP request from Burp or other tools — stores as crafted. See rqwstr_docs(topic="export") for the reverse direction.
Inputs: raw (required), name, https.
intruderC
Burp Intruder-style fuzzing with sniper, battering ram, pitchfork, and cluster bomb attack types. See rqwstr_docs(topic="intruder") for attack types and CSRF handling.
Inputs: url (required), method (required), attack_type (required), sni, +19 more.
oobB
Out-of-Band interaction detection via Interactsh for blind vulnerability testing. See rqwstr_docs(topic="oob") for the register/send/poll workflow.
Inputs: action (required), token, server, correlation_id.
parallelB
Send multiple different HTTP requests simultaneously. See rqwstr_docs(topic="parallel") for sync/stagger/repeat patterns.
Inputs: requests (required), grep, sync, repeat, +6 more.
profileB
Variable profile management — save, load, list, delete named snapshots of variables
Inputs: action (required), name.
raceB
Race condition testing with burst, single_packet, and staggered timing modes. See rqwstr_docs(topic="race") for timing-mode guidance.
Inputs: url (required), method (required), sni, body, +15 more.
rqwstr_docsA
Fetch rqwstr agent guidance by topic. topic='index' lists all topics; pass a topic name (e.g. 'race', 'intruder', 'chain') to read that page. Do not call this tool more than 3 times per question.
Inputs: topic.
saveC
Name a request for quick retrieval
Inputs: id (required), name (required), notes.
scopeB
Manage scope rules — add/remove include/exclude rules, import presets, check URLs
Inputs: action (required), id, url, port, +6 more.
searchC
Regex search through stored requests and responses
Inputs: query (required), in, limit, method, +1 more.
sendA
Send HTTP request and store in hunt database. See rqwstr_docs(topic="hunts") for the core workflow. Cookie handling: an explicit Cookie in headers or raw_headers suppresses the per-hunt cookie jar (the jar is only injected when no Cookie is supplied). A Cookie set in both sources is additive on the wire — both propagate, not deduped. send injects jar cookies outbound but NEVER auto-stores Set-Cookie: for multi-step authenticated flows use chain (forward_cookies), or session(action="import_from_response") after a login response. See rqwstr_docs(topic="cookies") for the full store model and setting explicit Cookie payloads (session fixation, deserialization, etc.).
Inputs: url (required), method (required), sni, body, +22 more.
send_h2A
Send HTTP/2 request over TLS with ALPN negotiation. See rqwstr_docs(topic="http2") for raw-frame mode and smuggling primitives. Cookie handling matches send: an explicit Cookie in headers (or raw_headers) suppresses the per-hunt cookie jar, and a Cookie set in both sources is additive on the wire (both propagate, not deduped). raw_headers only reaches the wire on raw_mode or a pooled connection; on the standard HTTP/2 path raw_headers is not sent, so it neither suppresses the jar nor lands on the wire.
Inputs: url (required), method (required), sni, body, +14 more.
sessionA
Cookie jar management — list, get, set, delete, clear cookies, import from response headers. See rqwstr_docs(topic="cookies") for actions.
Inputs: action (required), url, name, path, +7 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Each tool has a clearly distinct purpose: send/send_h2 for single requests, chain for multi-step flows, parallel for simultaneous, intruder for fuzzing, race for race conditions, oob for out-of-band detection, etc. Even send and send_h2 are differentiated by HTTP version. No two tools overlap in functionality.
Most tools use single-word lowercase verbs (chain, encode, fetch, hunt, etc.), but there are deviations: 'intruder' is a noun, 'oob' is an acronym, 'rqwstr_docs' uses an underscore, and 'send_h2' uses underscore. However, the overall pattern is short and descriptive, with only minor inconsistency.
18 tools is well-scoped for a comprehensive HTTP security testing toolkit. Each tool covers a distinct operation (sending, fuzzing, encoding, session management, etc.), and the number is neither too small to be useful nor too large to be overwhelming.
The tool surface covers the full lifecycle of HTTP request manipulation: creation (import, save), sending (send, send_h2, chain, parallel, intruder, race), modification (encode, session), inspection (fetch, search, export), and auxiliary functions (hunt, scope, profile, oob, rqwstr_docs). No obvious gaps for its intended purpose.
Maintenance
Related MCP Connectors
MEOK MCP Hardening MCP — automated security red-team for any MCP server. Maps OWASP LLM Top 10
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
MCP server for Pentest-Tools.com: run scans, manage findings and reports via your preffered LLM.
Security scanner for AI agents and MCP servers: injection, jailbreak, tool abuse.
Related MCP Servers
- AlicenseBqualityDmaintenanceA configurable MCP server that adapts any HTTP API into an MCP toolset with generic HTTP tools (GET, POST, PUT, DELETE) and pluggable authentication. Includes API discovery scripts and supports dynamic tool generation from OpenAPI specs or wordlist scans.51MIT
- FlicenseNot gradedqualityCmaintenanceAn MCP server that exposes over 20 standard penetration testing utilities, such as Nmap, SQLMap, and OWASP ZAP, as callable tools for AI agents. It enables natural language control over complex security workflows for automated and interactive penetration testing.115-
- FlicenseNot gradedqualityDmaintenanceMCP server that provides AI clients with 26 security and developer tools, enabling tasks like JWT decoding, HTTP header analysis, and phishing URL inspection.-
- AlicenseNot gradedqualityCmaintenanceHTTP Inspector MCP Server enables sending arbitrary HTTP requests, viewing history via a web panel, and taking screenshots of the panel for AI penetration testing workflows.1GPL 3.0