Attachment tools let Claude Code agents manage files directly on Paperclip issues — listing what’s there, uploading new files from disk, downloading content for inspection, and permanently removing outdated attachments. Files are uploaded from a local absolute path and stored server-side; downloads return the raw bytes as a base64 string so agents can decode and process them in-memory without writing to disk.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/bruhsb/paperclip-mcp/llms.txt
Use this file to discover all available pages before exploring further.
List Attachments
Paginate all attachments on an issue to discover IDs
Upload Attachment
Attach a local file to an issue by absolute path
Download Attachment
Fetch attachment content as base64
Delete Attachment
Permanently remove an attachment by UUID
paperclip_list_attachments
List all attachments on an issue, returning a paginated envelope of attachment metadata.Issue ID or identifier (e.g.
PAP-21). Accepts both numeric identifiers and UUID strings.Maximum attachments per page. Range 1–100. Defaults to
50.Number of attachments to skip for pagination. Defaults to
0.Output format.
markdown (default) produces a human-readable list; json returns a structured envelope.{ items: Attachment[], total, count, offset, limit, has_more, next_offset }. Each Attachment item contains: id, filename, mimeType, size (bytes), createdAt.
Usage notes:
- Use this tool first to discover attachment UUIDs before calling download or delete.
- If you already have the attachment UUID, call
paperclip_download_attachmentdirectly. - Use
limitandoffsetto page through issues with many attachments.
| Code | Meaning | Resolution |
|---|---|---|
| 401 | Authentication failed | Check PAPERCLIP_API_KEY |
| 404 | Issue not found | Verify the ID with paperclip_list_issues |
paperclip_upload_attachment
Upload a local file as an attachment to an issue. The file is read fromfilePath and sent to the Paperclip API using multipart form upload.
Issue ID or identifier (e.g.
PAP-22).Absolute path to the local file to upload (e.g.
/tmp/report.pdf). The path must be absolute and the file must exist on disk.Override the filename stored on the server. Defaults to the basename of
filePath.MIME type of the file (e.g.
text/plain, application/pdf). Defaults to application/octet-stream if omitted.id, filename, mimeType, size (bytes), createdAt.
Usage notes:
- Use when attaching a generated report, diff, log file, or any artifact to an issue.
- The
filePathmust be an absolute path; relative paths will fail with a 400 validation error. - To read an existing attachment instead, use
paperclip_download_attachment.
| Code | Meaning | Resolution |
|---|---|---|
| 400 | Validation failure | Ensure filePath is absolute and the file exists |
| 401 | Authentication failed | Check PAPERCLIP_API_KEY |
| 404 | Issue not found | Verify the ID with paperclip_list_issues |
| 413 | File too large | Check Paperclip attachment size limits |
paperclip_download_attachment
Fetch the raw content of an attachment by its UUID. The response includes the file content encoded as base64 so agents can decode and process it without writing to disk.Attachment UUID. Obtain this from
paperclip_list_attachments.Output format.
markdown (default) produces a compact summary with an id, content type, size, and the base64 string. json returns the full structured envelope.attachmentId, contentType, size (bytes), contentBase64 (base64-encoded file content). In markdown mode a compact human-readable summary is produced; in json mode the full envelope is returned.
The
contentBase64 field contains the complete file bytes encoded as base64. Decode it with Buffer.from(contentBase64, 'base64') or the equivalent in your runtime to recover the original file.- Use when you need to read and process the contents of a previously uploaded file.
- For metadata only (id, filename, size) without downloading content, use
paperclip_list_attachmentsinstead. - Large files will be truncated in the response — check
sizebefore processing.
| Code | Meaning | Resolution |
|---|---|---|
| 401 | Authentication failed | Check PAPERCLIP_API_KEY |
| 404 | Attachment not found | Verify the UUID with paperclip_list_attachments |
paperclip_delete_attachment
Permanently delete an attachment by its UUID. This action cannot be undone.Attachment UUID to delete.
id, filename, confirming the deletion.
Usage notes:
- Use when removing a superseded or mistakenly uploaded file from an issue.
- If you want to read the file’s content first, call
paperclip_download_attachmentbefore deleting. - There is no soft-delete or trash — once deleted the attachment cannot be recovered.
| Code | Meaning | Resolution |
|---|---|---|
| 401 | Authentication failed | Check PAPERCLIP_API_KEY |
| 404 | Attachment not found | Verify the UUID with paperclip_list_attachments |