Query the Pusher HTTP API (free tier; set PUSHER_APP_ID, PUSHER_KEY, PUSHER_SECRET, PUSHER_CLUSTER; requests HMAC-signed with node:crypto, stdlib only): channels, channel details, channel users.
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
list_channelsActive channels with user counts.Active channels with user counts.
No input schema was published for this tool.
get_channelOccupancy details for a channel.Occupancy details for a channel.
No input schema was published for this tool.
get_channel_usersUser IDs subscribed to a presence channel.User IDs subscribed to a presence channel.
No input schema was published for this tool.
websocket_round_tripOpen a real websocket and measure it: handshake time, round-trip time across several frames, jitter and effective throughput, using a public echo endpoint as the control.Open a real websocket and measure it: handshake time, round-trip time across several frames, jitter and effective throughput, using a public echo endpoint as the control.
No input schema was published for this tool.
websocket_payload_probePush the awkward payloads through a websocket — empty, single character, multi-byte UTF-8, a JSON document and a large frame — and report what came back and how long it took.Push the awkward payloads through a websocket — empty, single character, multi-byte UTF-8, a JSON document and a large frame — and report what came back and how long it took.
No input schema was published for this tool.
5 of 5 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Query the Pusher HTTP API (free tier; set PUSHER_APP_ID, PUSHER_KEY, PUSHER_SECRET, PUSHER_CLUSTER; requests HMAC-signed with node:crypto, stdlib only): channels, channel details, channel users.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
The crawl stopped at the depth-4 limit. Anything below that level was never resolved.
The crawl stopped at the 60-package limit. The rest of the tree was never resolved.
36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)
54 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.
+42 more not listed. The counts by reason above cover all of them.
Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.