Skip to content

SRIFT

by srift.app · remote · local (npm, pypi) · no sign-in to list tools · v4.4.0 · published by app.srift

Decentralized E2EE P2P file transfer + chat: human to human, human to AI, AI to AI. No accounts.

Deletes · 3Changes · 4

9 tools: 3 can delete or cancel things, 4 change things and 2 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http srift https://srift.app/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

9 tools

Deletes or cancels 3Claude Code: deny
  • srift_close_sessionClose the active session.No findings

    Why it is in this group

    • The name "srift_close_session" says "close": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history.

    Annotations the server declares

    • title: Close Session
    • readOnlyHint: false
    • destructiveHint: true
    • audience: agent,user
    • priority: 0.7
    • openWorldHint: false
    • idempotentHint: true
  • srift_kick_userHost-only.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants).

    Annotations the server declares

    • title: Kick Peer
    • readOnlyHint: false
    • destructiveHint: true
    • audience: agent,user
    • priority: 0.6
    • openWorldHint: true
    • idempotentHint: true
  • srift_reject_joinHost-only.No findings

    Why it is in this group

    • The name "srift_reject_join" says "reject": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status.

    Annotations the server declares

    • title: Reject Join Request
    • readOnlyHint: false
    • destructiveHint: true
    • audience: agent,user
    • priority: 0.7
    • openWorldHint: true
    • idempotentHint: true
Changes things 4Claude Code: ask
  • srift_approve_joinHost-only.No findings

    Why it is in this group

    • The name "srift_approve_join" says "approve": a word for a change.
    Description, as the server wrote it
    Host-only. Approve a pending guest join request by their temp user ID.

    Annotations the server declares

    • title: Approve Join Request
    • readOnlyHint: false
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.8
    • openWorldHint: true
    • idempotentHint: true
  • srift_join_sessionRequest to join an existing SRIFT session by its 7-character session ID.No findings

    Why it is in this group

    • The description's first verb is "request": a word for a change.
    Description, as the server wrote it
    Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work.

    Annotations the server declares

    • title: Join SRIFT Session
    • readOnlyHint: false
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.9
    • openWorldHint: true
    • idempotentHint: false
  • srift_net_diagnoseDiagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background processes, daemon + v…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background processes, daemon + version, disk) and the environment (sandbox/CI/container detection, curl). Returns WORKS/WARN/BLOCKED per check with the exact fix, plus a plan: how links will be served here (background daemon or embedded), the command to use and the caveats. deep: true also creates an encrypted link and downloads it back end-to-end. Read-only apart from that temporary self-test link. Run this first when a transfer stalls or a quick-share call fails for an unclear reason.

    Annotations the server declares

    • title: Diagnose Network Transports
    • readOnlyHint: true
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.75
    • openWorldHint: true
    • idempotentHint: true
  • srift_start_sessionCreate a new SRIFT secure session.No findings

    Why it is in this group

    • The name "srift_start_session" says "start": a word for a change.
    Description, as the server wrote it
    Create a new SRIFT secure session. Returns the 7-character session ID and a shareable URL. The host approves all future joins. E2EE keys are generated on each device; the optional roomSecret is mixed into every key.

    Annotations the server declares

    • title: Start SRIFT Session
    • readOnlyHint: false
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.9
    • openWorldHint: true
    • idempotentHint: false
Only reads 2Claude Code: allow
  • srift_list_transfersList all active and recent transfers with progress, speed, ETA, and status.No findings

    Why it is in this group

    • The name "srift_list_transfers" says "list": a word for reading.
    Description, as the server wrote it
    List all active and recent transfers with progress, speed, ETA, and status.

    Annotations the server declares

    • title: List Active Transfers
    • readOnlyHint: true
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.8
    • openWorldHint: false
    • idempotentHint: true
  • srift_session_statusGet current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and members with their userI…No findings

    Why it is in this group

    • The name "srift_session_status" says "status": a word for reading.
    Description, as the server wrote it
    Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and members with their userIds (remove one with srift_kick_user).

    Annotations the server declares

    • title: Get Session Status
    • readOnlyHint: true
    • destructiveHint: false
    • audience: agent,user
    • priority: 0.8
    • openWorldHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 4.4.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http srift https://srift.app/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__srift__srift_session_status",
      "mcp__srift__srift_list_transfers"
    ],
    "ask": [
      "mcp__srift__srift_start_session",
      "mcp__srift__srift_join_session",
      "mcp__srift__srift_approve_join",
      "mcp__srift__srift_net_diagnose"
    ],
    "deny": [
      "mcp__srift__srift_close_session",
      "mcp__srift__srift_reject_join",
      "mcp__srift__srift_kick_user"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as srift. Review it before you use it.