Project workspace
get-work-item-attachments-tool
List the files attached to a work item, with short-lived download URLs the AI client can fetch directly.
Returns one row per file uploaded into the work item's attachments media collection, with a download URL that the calling client can fetch over plain HTTP. Useful when the work item description or a comment references an image or document and the AI client needs the file content itself, not just the file name.
URLs are short-lived: on cloud storage (R2 / MinIO / S3) they are pre-signed and require no further auth, on local-disk development environments they resolve to the auth-protected /media/{id} route — which only accepts a logged-in session, so dev URLs are mostly useful for the in-app UI and not for an external MCP client.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
work_item_key | string | yes | Issue key of the work item (e.g. ACM-123). |
url_lifetime_minutes | integer | no | Lifetime in minutes for the signed URLs, 1–60. Default 15. Ignored on local-disk dev environments. |
Permissions
project_management::view_backlog.
Example
{
"work_item_key": "ACM-123",
"url_lifetime_minutes": 30
}Response
{
"work_item": { "id": 42, "issue_key": "ACM-123", "title": "Stripe SDK upgrade" },
"data": [
{
"id": 9012,
"name": "stripe-migration-plan.pdf",
"mime_type": "application/pdf",
"size": 184320,
"disk": "tenant",
"collection": "attachments",
"url": "https://tenant-bucket.r2.cloudflarestorage.com/…?X-Amz-Signature=…",
"created_at": "2026-05-18T14:02:17+00:00"
}
],
"total": 1,
"url_expires_at": "2026-05-21T08:32:00+00:00"
}Errors
- An unknown
work_item_keyreturns a validation error. - A
url_lifetime_minutesoutside 1–60 returns a validation error. - A caller without
project_management::view_backlogreceives an authorization error.