stdin: {"id":1,"jsonrpc":"2.0","method":"initialize","params":{"capabilities":{},"clientInfo":{"name":"toolwitness","version":"s772-v0"},"protocolVersion":"2025-11-25"}} {"jsonrpc":"2.0","method":"notifications/initialized"} {"id":2,"jsonrpc":"2.0","method":"tools/list","params":{}} stdout: {"result":{"protocolVersion":"2025-11-25","capabilities":{"tools":{"listChanged":true}},"serverInfo":{"name":"justdrop","version":"0.1.6"}},"jsonrpc":"2.0","id":1} {"result":{"tools":[{"name":"drop","title":"Drop files to any device","description":"Send local files through JustDrop: creates a live, end-to-end encrypted, ephemeral room and returns a room code, link, and QR code. Use this whenever the user wants to send, share, drop, beam, airdrop, move, or transfer a file or folder to their phone, tablet, laptop, another device, or another person. Your reply MUST include, verbatim: the room code, the link, and the clickable QR-code URL — the user clicks or scans these from your reply; never omit or summarize them. The transfer starts automatically once the recipient opens the link in any browser; nothing is stored after delivery. Pass room_code to send into an existing room instead of creating one. Directories are expanded (dotfiles, credentials, and node_modules are always skipped). Use the status tool to check delivery progress.","inputSchema":{"type":"object","properties":{"paths":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Absolute or relative paths of files/directories to send"},"expiry_minutes":{"type":"integer","minimum":1,"maximum":1440,"description":"Room lifetime in minutes (default 60). The room self-destructs after this."},"room_code":{"type":"string","description":"Join this existing room and send into it, instead of creating a new room"}},"required":["paths"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"receive","title":"Receive files from any device","description":"Receive files into a local directory through JustDrop (live, end-to-end encrypted, ephemeral). Use this whenever the user wants to get, grab, pull, fetch, import, or receive a file, photo, screenshot, or document from their phone, tablet, or another device or person onto this machine. PREFERRED FLOW: the other person creates a room at justdrop.ai and tells the user the room code; call this tool with that room_code and everything they send is decrypted and saved automatically. Without room_code this tool creates the room instead — note the justdrop.ai website can currently only SEND from rooms it created, so use this mode only when the other side is another JustDrop MCP/CLI client. Use the status tool to see saved file paths.","inputSchema":{"type":"object","properties":{"save_dir":{"type":"string","description":"Directory to save received files into (created if missing)"},"room_code":{"type":"string","description":"Join this existing room instead of creating a new one"},"expiry_minutes":{"type":"integer","minimum":1,"maximum":1440,"description":"Room lifetime in minutes when creating a room (default 60)"}},"required":["save_dir"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"status","title":"Check a transfer","description":"Shows the live status of a JustDrop transfer started with drop or receive: peer presence, per-file progress, saved paths, and errors. Call with no room_code to list all transfers in this session.","inputSchema":{"type":"object","properties":{"room_code":{"type":"string","description":"Room code returned by drop/receive"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}},{"name":"cancel","title":"Cancel a transfer","description":"Cancels a JustDrop transfer. Rooms created by this session are destroyed (files and metadata deleted); rooms that were joined are only left.","inputSchema":{"type":"object","properties":{"room_code":{"type":"string","description":"Room code returned by drop/receive"}},"required":["room_code"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"},"execution":{"taskSupport":"forbidden"}}]},"jsonrpc":"2.0","id":2}