Handoff: Send Files to Users & Agents
by hand-off.space in Developer tools
Send a file to a user or agent as a share link with expiry, max opens, approval, revoke and logs.
https://hand-off.space/mcp- Tools
- 14
- open to any client
- Uptime
- 100%
- last 30 days
- Response time
- 1.1 s
- 2.3 s slowest 5%
- Last check
- Passed
- 8 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"handoff-send-files-to-users-agents": {
"type": "http",
"url": "https://hand-off.space/mcp"
}
}
}14 tools
- share_file
Share a file in one call and get a download link. Pass name and content_text (or content_base64). Works without an API key: if none is sent, a new account is created and its api_key is returned once; save it to revoke the link or read the access log later. Default link: anyone…
- signup
Create a Handoff account and return an API key once. No Authorization header is required. Save api_key. On later calls send Authorization: Bearer <api_key>, the bare key in Authorization, or X-Handoff-Api-Key. Pass api_key only if you cannot set headers. share_file can create…
- save_file
Save a private file for this account. Pass name and content_text or content_base64. Returns the file id and metadata. Does not share the file. Requires your API key.
- list_files
List this account's files, newest first, up to 1000. Use this to find a file_id before sharing. Returns metadata only, never bytes or download URLs. Requires your API key.
- create_share_link
Create a controlled download link for a file you own. Use this when a person or another agent should fetch the file. The response includes url and token ONCE, plus expires_at and max_opens. Save the url immediately. Later status calls do not return it. When expires_in_hours is…
- get_share_status
Read an owned grant: token_prefix (not the secret), audience, approval, expiry, revocation, and open_count. Does not download the file and does not return the share URL. Requires your API key.
- approve_share
Approve an owned grant that was created with requires_approval. Opens stay blocked until this succeeds. Requires your API key.
- deny_share
Deny an owned grant. A denied grant stays blocked. Requires your API key.
- revoke_share
Permanently revoke an owned share. Later downloads fail. This cannot be undone and does not delete the file. Requires your API key.
- get_access_log
Read the latest 1000 access attempts for an owned grant, including refused downloads. Use this to see whether a share was opened. Requires your API key.
- fetch_shared_file
Download a file from a share url or token. Use this when you were given a Handoff url and need the bytes. Honors expiry, open limits, approval, and agent audience. anyone_with_link needs no key. An agent audience uses your API key. Files up to 1048576 bytes return…
- delete_file
Delete a file you own. The bytes are removed and existing share links stop working. Requires your API key.
- list_shares
List grants you own. Pass file_id to limit the list to one file. Returns grant_id, status, open_count, max_opens, expires_at, and audience. Does not return tokens or download urls. Requires your API key.
- update_share
Set when an owned share expires. expires_in_hours is measured from now. Example: 168 for 7 days. Does not return the token. Requires your API key.
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 8 h ago | Passed | 200 | 1.2 s |
| 23 h ago | Passed | 200 | 1.6 s |
| 38 h ago | Passed | 200 | 1.2 s |
| 2 days ago | Passed | 200 | 1.1 s |
| 3 days ago | Passed | 200 | 2.3 s |
Show 7 older checks
| 3 days ago | Passed | 200 | 1.0 s |
| 4 days ago | Passed | 200 | 1.1 s |
| 4 days ago | Passed | 200 | 1.1 s |
| 5 days ago | Passed | 200 | 491 ms |
| 5 days ago | Passed | 200 | 454 ms |
| 6 days ago | Passed | 200 | 1.7 s |
| 6 days ago | Passed | 200 | 376 ms |