Skip to main content

MCP server for Reqable local capture data

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reqable_mcp-0.3.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reqable_mcp-0.3.0-py3-none-any.whl (33.8 kB view details)

Uploaded Python 3

File details

Details for the file reqable_mcp-0.3.0.tar.gz.

File metadata

  • Download URL: reqable_mcp-0.3.0.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.8

File hashes

Hashes for reqable_mcp-0.3.0.tar.gz
Algorithm Hash digest
SHA256 b0fbf2ed31b20b2b09c7bcd306a6ad5009db65f34b50905f59fe5476496cf490
MD5 fb364c3e41ae11567544b95f97b8c5a8
BLAKE2b-256 2c35dff290dfced84202f1eea961b00d8b4719563f222944fbb165bc342368e3

See more details on using hashes here.

File details

Details for the file reqable_mcp-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for reqable_mcp-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ea3c041a43df3a71cc4284702c09c15ac7fa2ff029aad036c16ca93b0ad68f
MD5 14ce9492e0c543b69c5a77e2a0cdb089
BLAKE2b-256 0cc0bc1f70f69c206b357b182fa94c5a841949a36610ae3dc3cd2ef3e19e168e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page