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.1.tar.gz (40.8 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.1-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reqable_mcp-0.3.1.tar.gz
Algorithm Hash digest
SHA256 8799c03e29bd2d1f6f7c7bd896a4bc7425f9657d0cad04d1f2143b8aed302123
MD5 9ca63574c2146eb06007fcd3ca3af5ac
BLAKE2b-256 3c5a34a239ab2da42a27faccc9d89ca3ad3a366aaf4b6b8acb1ba4d9ca489123

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reqable_mcp-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 86819b62efd3e2b54f00460f71a678c9e2bbc7d7ab10b1adaa16956cf7bdfa96
MD5 742ac1ea3f31db638a0880aca8e24f0b
BLAKE2b-256 f9c5f22f56ca0a061fca707594f4685c8b1ec0c23c5387f7fc9e051eecc9f1b4

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