Zero-config, zero-token peer-to-peer secure file transfer, encrypted chat, and Model Context Protocol (MCP) server for AI coding agents and developers. End-to-end AES-256-GCM encrypted.
SRIFT has 17 tools with mostly complete schemas and descriptions, but significant gaps in parameter documentation and error handling guidance. Tool names follow verb_noun convention (srift_start_session, srift_join_session, etc.), which is good. However, many parameter descriptions lack detail about constraints, formats, and valid ranges. Output schemas are not documented. Error responses do not guide recovery. The server supports HTTP transport with tool annotations (destructiveHint, readOnlyHint), which is positive. Average tool description length ~120 chars (below baseline 194), and several parameters lack descriptions entirely.
Accept a pending file offer from the peer and start downloading.
Host-only. Approve a pending guest join request by their temp user ID.
Retrieve the E2EE chat history for the current session.
Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history.
Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work.
Host-only. Disconnect and ban a peer from the active room.
List all active and recent transfers with progress, speed, ETA, and status.
Output schemas not documented. Tools like srift_list_transfers, srift_session_status, and srift_chat_history do not specify what fields they return, forcing LLMs to guess structure and plan downstream calls blindly.
Parameter descriptions lack constraint details. 'filePath' appears in 5 tools but never specifies format (absolute vs relative), allowed extensions, or size limits. 'sessionId' is described as '7-character' but no validation guidance for LLMs.
No error handling guidance. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., srift_join_session could fail if sessionId is invalid, but no recovery path is specified.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Monitor the progress of an active file transfer in real-time.
Register a file for public sharing via HTTPS download link. Returns a shareable URL.
List all active public shares with their download counts and expiration times.
Revoke a public share by file ID, preventing further downloads.
Deliver any local file to the user via end-to-end-encrypted P2P transfer. Returns a share URL the user opens in any browser.
Host-only. Reject a pending guest join request.
Send an E2EE chat message to the connected SRIFT peer.
Offer a file to the connected peer in an existing session. The peer must accept with srift_accept_transfer. Returns a fileId for monitoring. Transport is auto-selected internally.
Get current session details: id, role (host/guest), connection state, pending join requests, peer count.
Create a new SRIFT secure session. Returns the 7-character session ID and a shareable URL. The host approves all future joins. E2EE keys derive locally from the session ID + optional roomSecret.
Destructive operations lack confirmation step. srift_close_session, srift_kick_user, and srift_pubshare_revoke are irreversible but have no dry-run or confirmation mechanism to prevent accidental execution.
Tool composition risk: srift_quick_share and srift_send_file + srift_accept_transfer overlap in functionality. LLMs may conflate them or choose the wrong one. Clarify when to use each.