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.
9 tools: 3 can delete or cancel things, 4 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
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/mcpTools
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.