Skip to main content
Glama

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.

rqwstr localhost MCP demo

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_amd64 or linux_arm64

  • Windows — 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, profile

  • Attacks — intruder (sniper, battering ram, pitchfork, cluster bomb), race (single-packet), chain, parallel

  • OOB — oob with Interactsh integration

  • Encoding — 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.txt

Privacy 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 tools
chainA

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.

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

    A3.7/5.0

    Scored across 18 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness5/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      A 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.
      5
      1
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      An 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
      -
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server that provides AI clients with 26 security and developer tools, enabling tasks like JWT decoding, HTTP header analysis, and phishing URL inspection.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      HTTP 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.
      1
      GPL 3.0