npm-package-ws-has-241560546-weekly-downloads-but-sdk

Stateful WebSocket session registry with per-connection Shannon entropy delta tracking for schema di

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
60%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (5)

  • LOWTool 'nexus_npm_package_ws_has_241560546_weekly_down_open_websocket_session' name length outside 3-30 rangein nexus_npm_package_ws_has_241560546_weekly_down_open_websocket_session
  • LOWTool 'nexus_npm_package_ws_has_241560546_weekly_down_send_typed_ws_frame' name length outside 3-30 rangein nexus_npm_package_ws_has_241560546_weekly_down_send_typed_ws_frame
  • LOWTool 'nexus_npm_package_ws_has_241560546_weekly_down_drain_ws_frame_buffer' name length outside 3-30 rangein nexus_npm_package_ws_has_241560546_weekly_down_drain_ws_frame_buffer
  • LOWTool 'nexus_npm_package_ws_has_241560546_weekly_down_inspect_ws_session_telemetry' name length outside 3-30 rangein nexus_npm_package_ws_has_241560546_weekly_down_inspect_ws_session_telemetry
  • LOWTool 'nexus_npm_package_ws_has_241560546_weekly_down_close_websocket_session' name length outside 3-30 rangein nexus_npm_package_ws_has_241560546_weekly_down_close_websocket_session

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,120Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (0.88% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "npm-package-ws-has-241560546-weekly-downloads-but-sdk": {
      "url": "https://npm-package-ws-has-241560546-w-production.up.railway.app/mcp"
    }
  }
}

Remote endpoints

https://npm-package-ws-has-241560546-w-production.up.railway.app/mcpstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪nexus_npm_package_ws_has_241560546_weekly_down_open_websocket_session(target_url, connect_timeout_seconds)

Establishes a persistent WebSocket connection to a target URL and registers it in the stateful session registry. Returns a session_id for all subsequent operations. Use when an agent needs to initiate a long-lived connection before sending or receiving frames. Do NOT use to reconnect an already-open session -- call close_websocket_session first, or use the session_id of an existing session.

Input Schema

{
  "type": "object",
  "properties": {
    "target_url": {
      "description": "Full WebSocket URL to connect to (must start with ws:// or wss://).",
      "minLength": 6,
      "title": "Target Url",
      "type": "string"
    },
    "connect_timeout_seconds": {
      "default": 10,
      "description": "Maximum seconds to wait for the WebSocket handshake to complete.",
      "maximum": 60,
      "minimum": 0.5,
      "title": "Connect Timeout Seconds",
      "type": "number"
    }
  },
  "required": [
    "target_url"
  ],
  "title": "open_websocket_sessionArguments"
}
🟡nexus_npm_package_ws_has_241560546_weekly_down_send_typed_ws_frame(session_id, payload, frame_type)

Sends a single text or binary frame over an open session and returns the frame's Shannon entropy delta relative to the session baseline. Use for request-response patterns or publishing commands to a WebSocket server. Do NOT use to send a sequence of frames in bulk -- call this tool once per frame. Fails if session_id does not exist or connection is not in OPEN state.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "description": "32-character session id (uuid4 hex, no dashes) returned by open_websocket_session.",
      "maxLength": 32,
      "minLength": 32,
      "title": "Session Id",
      "type": "string"
    },
    "payload": {
      "description": "Frame payload. For binary frames, encode as hex and set frame_type to 'binary'.",
      "maxLength": 131072,
      "minLength": 0,
      "title": "Payload",
      "type": "string"
    },
    "frame_type": {
      "default": "text",
      "description": "Either 'text' or 'binary'. Determines wire encoding.",
      "enum": [
        "text",
        "binary"
      ],
      "title": "Frame Type",
      "type": "string"
    }
  },
  "required": [
    "session_id",
    "payload"
  ],
  "title": "send_typed_ws_frameArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "send_typed_ws_frameDictOutput"
}
⚪nexus_npm_package_ws_has_241560546_weekly_down_drain_ws_frame_buffer(session_id, max_frames)

Returns up to max_frames buffered inbound frames received since the last drain (or session open), each annotated with its Shannon entropy delta and schema validation result. Use to poll for incoming messages without holding a blocking connection. Do NOT use as a real-time streaming mechanism -- it returns only frames already buffered.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "description": "32-character session id of the open session to drain frames from.",
      "maxLength": 32,
      "minLength": 32,
      "title": "Session Id",
      "type": "string"
    },
    "max_frames": {
      "default": 32,
      "description": "Maximum number of buffered frames to return in a single call.",
      "maximum": 256,
      "minimum": 1,
      "title": "Max Frames",
      "type": "number"
    }
  },
  "required": [
    "session_id"
  ],
  "title": "drain_ws_frame_bufferArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "drain_ws_frame_bufferDictOutput"
}
🟢nexus_npm_package_ws_has_241560546_weekly_down_inspect_ws_session_telemetry(session_id)

Returns real-time telemetry for a session: connection state, frame counts, cumulative and rolling Shannon entropy statistics, schema violation rate, and uptime. Use to diagnose whether a stream is diverging from its expected schema or to verify a session is still alive before sending. Do NOT use as the primary liveness check in a tight loop.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "description": "32-character session id of the session to inspect.",
      "maxLength": 32,
      "minLength": 32,
      "title": "Session Id",
      "type": "string"
    }
  },
  "required": [
    "session_id"
  ],
  "title": "inspect_ws_session_telemetryArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "inspect_ws_session_telemetryDictOutput"
}
⚪nexus_npm_package_ws_has_241560546_weekly_down_close_websocket_session(session_id, status_code, reason)

Sends a WebSocket close frame with the specified status code, waits for the server close handshake, and removes the session from the registry. Returns a final telemetry snapshot. Use when a session is no longer needed. Do NOT use to temporarily pause a session -- the session_id is permanently deallocated after this call and cannot be reused.

Input Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "description": "32-character session id of the session to close.",
      "maxLength": 32,
      "minLength": 32,
      "title": "Session Id",
      "type": "string"
    },
    "status_code": {
      "default": 1000,
      "description": "WebSocket close status code per RFC 6455 (1000-4999). Defaults to 1000.",
      "maximum": 4999,
      "minimum": 1000,
      "title": "Status Code",
      "type": "number"
    },
    "reason": {
      "default": "",
      "description": "Optional UTF-8 close reason string, max 123 bytes per RFC 6455.",
      "maxLength": 123,
      "title": "Reason",
      "type": "string"
    }
  },
  "required": [
    "session_id"
  ],
  "title": "close_websocket_sessionArguments"
}

Output Schema

{
  "type": "object",
  "additionalProperties": true,
  "title": "close_websocket_sessionDictOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools
verifiedversion not recorded5 tools
verifiedversion not recorded5 tools