{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_d42a9rhj9mf8","handle":"srift","url":"https://wellknown.network/agents/srift","links":{"self":"https://wellknown.network/agents/srift/record.json","html":"https://wellknown.network/agents/srift","markdown":"https://wellknown.network/agents/srift/record.md","api":"https://wellknown.network/api/v1/agents/srift","status":"https://wellknown.network/api/v1/agents/srift/status","claim":"https://wellknown.network/agents/srift/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/srift/claim.json","badge":"https://wellknown.network/agents/srift/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/srift/history","tools":"https://wellknown.network/api/v1/agents/srift/tools"},"ard":{"identifier":"urn:air:srift.app:server:srift","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"SRIFT","summary":"Secure P2P file transfer and encrypted chat for AI agents. No accounts, no API keys.","description":"Secure P2P file transfer and encrypted chat for AI agents. No accounts, no API keys.","publisher":{"name":"app.srift","url":null},"homepage":"https://srift.app","repository":"https://github.com/srivardhan113/SRIFT-Open_Source","version":"4.3.2","license":"MIT","protocols":["mcp"],"tags":["mcp","mcp-server","model-context-protocol","ai-agent","ai-agents","claude","cursor","windsurf","continue-dev","cline","roo-code","zed","codex","aider","file-transfer","p2p","peer-to-peer","webrtc","webtorrent","end-to-end-encryption","e2ee","aes-256-gcm","encrypted","secure-file-transfer","send-files","cli","quick-share","agent-tools","llm-tools","developer-tools","zero-retention","file-sharing","encryption","agent-to-agent","sdk"],"pricing":{"model":"free","currency":"USD"},"endpoints":[{"url":"https://srift.app/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:srift-transfer","type":"package_npm","auth":null,"probeable":false},{"url":"pypi:srift","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-05T21:28:26.300745Z","npmKeywords":["mcp","mcp-server","model-context-protocol","file-transfer","file-sharing","send-files","p2p","e2ee","encryption","cli","ai-agents","agent-to-agent","claude","cursor","webrtc"],"publishedAt":"2026-10-05T21:28:26.300745Z","registryName":"app.srift/srift","editedByOwnerAt":"2026-09-18T20:21:09.257Z"},"attribution":{"kind":"claim","name":"claim","license":"npm","pricing":"claim","repoUrl":"mcp_registry","summary":"claim","version":"mcp_registry","description":"claim","homepageUrl":"claim","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"communication.chat","name":"Team Chat","confidence":0.833,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":0.619,"provenance":"derived"}],"categories":["communication","dev"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 29m ago.","lastOkAt":"2026-10-11T01:20:35.037Z","lastProbedAt":"2026-10-11T01:20:35.037Z","statusComputedAt":"2026-10-11T01:23:03.175Z","reliability30d":{"probes":551,"successRate":1,"p50Ms":900,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":551,"ok":551,"authBoundaryOk":0,"serviceOk":551,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-11T01:20:35.037Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":450,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T00:25:35.074Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1515,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T23:21:11.576Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":428,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T22:20:05.272Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":409,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T21:24:31.432Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":449,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T20:26:41.301Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1611,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T19:24:18.943Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1619,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T18:26:06.367Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1539,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T17:27:42.764Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":431,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T16:30:56.809Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1527,"error":null,"detail":{"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"toolCount":9,"toolsHash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","serverName":"srift-mcp-server","capabilities":["tools","resources","prompts","logging","extensions"],"serverVersion":"4.3.2","protocolVersion":"2025-06-18"}}],"tools":[{"name":"srift_start_session","description":"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 d"},{"name":"srift_join_session","description":"Request to join an existing SRIFT session by its 7-character session ID. The host must approve before transfers/chat work."},{"name":"srift_session_status","description":"Get current session details: session { id, role (host/guest), connection state, your userId }, pending join requests (approve with srift_approve_join), and memb"},{"name":"srift_close_session","description":"Close the active session. Flushes E2EE keys, disconnects signaling, clears chat history."},{"name":"srift_approve_join","description":"Host-only. Approve a pending guest join request by their temp user ID."},{"name":"srift_reject_join","description":"Host-only. Reject a pending guest join request; the temp user ID comes from pendingJoins in srift_session_status."},{"name":"srift_kick_user","description":"Host-only. Disconnect and remove a peer from the active room. Get the peer's userId from srift_session_status (participants)."},{"name":"srift_list_transfers","description":"List all active and recent transfers with progress, speed, ETA, and status."},{"name":"srift_net_diagnose","description":"Diagnose SRIFT on this machine: connectivity (DNS, proxy, HTTPS/TLS, WebSocket relay, UDP/P2P, peer discovery, clock), the local runtime (loopback, background p"}],"package":{"name":"srift-transfer","registry":"npm","observedAt":"2026-10-11T01:23:34.538Z","publishedAt":"2026-10-05T21:20:57.401Z","latestVersion":"4.3.2","weeklyDownloads":320},"toolSurface":{"id":"ts_pxpyqcuengrd","endpointId":"ep_3tgc2d7h8vg5","hash":"8317c6dbb9f5b51ac8bd78582505ae6542f07a0f881fc1503ad85ff86e10ab61","toolCount":9,"serverName":"srift-mcp-server","serverVersion":"4.3.2","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-05T22:19:55.439Z","lastSeenAt":"2026-10-11T01:20:35.033Z","observations":124,"toolNames":["srift_start_session","srift_join_session","srift_session_status","srift_close_session","srift_approve_join","srift_reject_join","srift_kick_user","srift_list_transfers","srift_net_diagnose"],"distinctSurfaces":7},"endpointFacts":[{"id":"ep_3tgc2d7h8vg5","url":"https://srift.app/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T02:29:09.929Z","auth":{"observedAt":"2026-10-10T02:29:11.447Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T02:29:11.456Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"srift.app","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-23T17:29:08.000Z","validTo":"2026-11-21T18:29:05.000Z","daysToExpiry":41,"sanCount":2,"fingerprint256":"4A:C9:74:5F:B5:FD:E5:AB:A3:CC:C7:36:97:85:0E:99:03:68:29:D3:8C:95:12:51:C9:1A:02:13:A8:D0:9C:A6"}}]},"verification":{"claimed":true,"claimedAt":"2026-09-18T20:20:46.770Z","proofs":[{"method":"github_owner","target":"srivardhan113","verifiedAt":"2026-09-18T20:20:46.770Z"}]},"provenance":{"sources":[{"source":"npm","key":"srift-transfer","url":"https://www.npmjs.com/package/srift-transfer","firstSeenAt":"2026-09-11T23:20:43.991Z","fetchedAt":"2026-10-10T21:19:09.461Z","normalizedAt":"2026-10-10T21:19:09.461Z"},{"source":"claim","key":"ag_d42a9rhj9mf8","url":null,"firstSeenAt":"2026-09-18T20:21:09.263Z","fetchedAt":"2026-09-18T20:21:09.263Z","normalizedAt":"2026-09-18T20:21:09.257Z"},{"source":"pypi","key":"srift","url":"https://pypi.org/project/srift/","firstSeenAt":"2026-09-27T19:21:55.385Z","fetchedAt":"2026-10-10T19:19:55.402Z","normalizedAt":"2026-10-10T19:19:55.402Z"},{"source":"mcp_registry","key":"app.srift/srift","url":"https://registry.modelcontextprotocol.io/v0/servers/app.srift%2Fsrift","firstSeenAt":"2026-09-09T13:18:12.422Z","fetchedAt":"2026-10-09T01:21:53.336Z","normalizedAt":"2026-10-09T01:21:53.336Z"}]},"firstSeenAt":"2026-09-09T13:18:12.422Z","updatedAt":"2026-10-11T01:23:34.538Z"}