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.2.tar.gz (41.2 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.2-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for reqable_mcp-0.3.2.tar.gz
Algorithm Hash digest
SHA256 c302805b979cf98c211d34fe93885b2bd74a0e971a33079a0c77050fef538ea4
MD5 72fa02f2569afff189d496088c22e696
BLAKE2b-256 2ebf5dd9d97e877547e72fe6a51a577e45c32bd74c5963431fb6219c7cfc7bd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for reqable_mcp-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f0869a48d151d3c2d6371439c9c4fd85adbc91846a8a0b226177467108412b4f
MD5 673389c21d2d9f96764eaf22279dea22
BLAKE2b-256 4803bdee2c8eb5907b2cf692b07fead09f737584db1400a04fe57506ff5ce7ad

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