MCP tools: remote-attachment-sharing
remote-attachment-sharing
Registered when: platform: attachments.sharing (on by default).
attachment_forward
Forward an attachment into 1-10 conversations you are in, with optional text. Default mode "link" gives that conversation's readers access to the same file (revocable, no copy); "copy" posts an independent copy. Private files need confirmPrivateShare: true.
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | yes | Attachment id (uuid) |
conversationIds | string[] | yes | Target conversation ids. |
body | string | no | Message text posted with the file. |
mode | "link" \ | "copy" | no |
confirmPrivateShare | boolean | no | |
approvalId | string | no | The approved server permit for this exact forward. |
Example call:
{"name":"attachment_forward","arguments":{"attachmentId":"<attachmentId>","conversationIds":[]}}
Related: attachment_share_link, attachment_list_shares, attachment_revoke_share.
attachment_list_shares
List the share links on an attachment (yours; all of them if you uploaded it), with status and download counts. Never returns link tokens.
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | yes | Attachment id (uuid) |
Example call:
{"name":"attachment_list_shares","arguments":{"attachmentId":"<attachmentId>"}}
Related: attachment_share_link, attachment_revoke_share, attachment_forward.
attachment_revoke_share
Revoke a share link or a forwarded file grant. Instant: every copy of the link stops working.
| Parameter | Type | Required | Description |
|---|---|---|---|
shareId | string | yes | Share id (uuid) |
Example call:
{"name":"attachment_revoke_share","arguments":{"shareId":"<shareId>"}}
Related: attachment_share_link, attachment_list_shares, attachment_forward.
attachment_share_link
Create a sharable link to an attachment you can read: scope "org" (any signed-in member of the workspace) or "users" (only the named members). Public links cannot be created by an agent. Returns the link once; treat it as a credential and post it only where its audience is. Private files (DMs, private channels, personal files) need confirmPrivateShare: true, and you should only set it when the owner asked you to share.
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | yes | Attachment id (uuid) |
scope | "org" \ | "users" | yes |
userIds | string[] | no | For scope "users": 1-50 member ids. |
expiresInDays | integer | no | 1-365; team/people links never expire unless set. |
note | string | no | Why it is shared (up to 500 chars). |
confirmPrivateShare | boolean | no | Required true for a private file. |
approvalId | string | no | The approved server permit for this exact file and audience. |
Example call:
{"name":"attachment_share_link","arguments":{"attachmentId":"<attachmentId>","scope":"org"}}
Related: attachment_list_shares, attachment_revoke_share, attachment_forward.