Skip to main content

Reqable MCP Server

NPM Version PyPI Version GitHub License

Reqable MCP Server exposes local Reqable capture traffic to MCP clients (Windsurf/Cursor/Claude/Codex).

Default architecture is local-only:

  1. Reqable posts HAR(JSON) to http://127.0.0.1:18765/report.
  2. Optional incremental WebSocket events can be posted to http://127.0.0.1:18765/ws/events.
  3. reqable-mcp normalizes and stores requests/messages in local SQLite.
  4. MCP tools query local data only (no cloud relay by default).

Docs: English | 中文

Features

  • Local-first, privacy-first ingest path.
  • Real-time ingest via Reqable Report Server.
  • HAR file import fallback for missed sessions.
  • HTTP request query/search/domain stats/API analysis.
  • WebSocket session/message parsing for HAR entries carrying message-frame extensions.
  • Cross-platform runtime (macOS / Linux / Windows with Python 3.10+).

Prerequisites

  1. Install and open Reqable.
  2. Configure Reqable Report Server to post to http://127.0.0.1:18765/report.
  3. Ensure Node.js (for npx) and uv (for uvx) are available.

Installation

Run via npx (recommended)

npx -y reqable-mcp@latest

Local development

uv run reqable-mcp

MCP Client Configuration

{
  "mcpServers": {
    "reqable": {
      "command": "npx",
      "args": ["-y", "reqable-mcp@latest"]
    }
  }
}

Reqable Report Server Setup

Use these values in Reqable "Add Report Server":

  1. Name: reqable-mcp-local
  2. Match rule: * (or your target domains)
  3. Server URL: http://127.0.0.1:18765/report
  4. Compression: None (or keep consistent with your receiver)

After saving, generate traffic and call ingest_status to verify incoming payload count.

Important note: reqable-mcp still uses HTTP-only ingest transport (no native ws:// listener), but now supports two HTTP ingest paths: /report for HAR/session payload and /ws/events for incremental WebSocket events. WebSocket capture works when Reqable payload includes frame data (for example _webSocketMessages or event frame objects). Raw entry JSON and raw message JSON are preserved and exposed by WebSocket tools. HAR export/import remains the fallback when live pushes miss frames.

Available Tools

  • ingest_status: ingest server state and counters
  • import_har: import HAR from file path
  • list_requests: list recent HTTP/WebSocket handshake requests with filters
  • get_request: fetch request details by ID (full includes raw_entry)
  • search_requests: keyword search in HTTP URL/body/raw uploaded entry (raw / raw_entry)
  • list_websocket_sessions: list captured WebSocket sessions
  • list_active_websocket_sessions: list recently active WebSocket sessions by latest captured frames
  • get_websocket_session: fetch WebSocket session details and messages by ID (including raw_entry and message raw)
  • tail_websocket_messages: incremental fetch by request_id + after_seq cursor
  • search_websocket_messages: precise WebSocket message search by keyword, direction, type, opcode, close code, domain, and request ID
  • analyze_websocket_session: summarize directions, message types, JSON shapes, and close events for a session
  • export_websocket_session_raw: export the raw uploaded WebSocket entry and raw frame list
  • health_report: ingest status + WebSocket data quality report
  • repair_websocket_messages: backfill missing fields from raw frames (supports dry-run)
  • get_domains: domain-level request statistics
  • analyze_api: infer API shapes for a domain
  • generate_code: generate sample client code from captured HTTP request

Environment Variables

Variable Description Default
REQABLE_INGEST_HOST Report receiver host 127.0.0.1
REQABLE_INGEST_PORT Report receiver port 18765
REQABLE_INGEST_PATH Report receiver path /report
REQABLE_WS_EVENTS_PATH Incremental WebSocket event receiver path /ws/events
REQABLE_DATA_DIR Local data directory platform app data dir
REQABLE_DB_PATH SQLite file path ${REQABLE_DATA_DIR}/requests.db
REQABLE_MAX_BODY_SIZE Max persisted body bytes per request/message 102400
REQABLE_MAX_REPORT_SIZE Max accepted report payload bytes 10485760
REQABLE_MAX_IMPORT_FILE_SIZE Max HAR import file bytes 104857600
REQABLE_RETENTION_DAYS Local retention window 7
REQABLE_INGEST_TOKEN Optional local auth token unset

Privacy and Data Retention

  • Data stays on local machine in default mode.
  • Retention cleanup is applied to local DB records, including WebSocket messages.
  • If ingest server is offline, Reqable failed report push is not retried.

License

MIT

Metadata

Release files for reqable-mcp 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for reqable-mcp 0.3.2
File Size Uploaded Provenance
reqable_mcp-0.3.2.tar.gz 41.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for reqable-mcp 0.3.2
File Interpreter ABI Platform
reqable_mcp-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 76.1 kB

Release files / reqable_mcp-0.3.2.tar.gz

Download URL reqable_mcp-0.3.2.tar.gz
Size 41.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c302805b979cf98c211d34fe93885b2bd74a0e971a33079a0c77050fef538ea4
BLAKE2b-256 checksum
How to use checksums
2ebf5dd9d97e877547e72fe6a51a577e45c32bd74c5963431fb6219c7cfc7bd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / reqable_mcp-0.3.2-py3-none-any.whl

Download URL reqable_mcp-0.3.2-py3-none-any.whl
Size 35.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0869a48d151d3c2d6371439c9c4fd85adbc91846a8a0b226177467108412b4f
BLAKE2b-256 checksum
How to use checksums
4803bdee2c8eb5907b2cf692b07fead09f737584db1400a04fe57506ff5ce7ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Security for reqable-mcp 0.3.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page