> ## Documentation Index
> Fetch the complete documentation index at: https://docs.murmur.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# prepare_attachments MCP tool

> Prepare private file uploads for remote MCP spawns and follow-ups.

Remote-only. Prepares private attachment slots for [`spawn`](https://docs.murmur.dev/mcp-server/spawn) or [`queue_add`](https://docs.murmur.dev/mcp-server/queue-add). Your client uploads the bytes; the MCP server never reads a local file path.

## Request

```json theme={null}
{
  "attachments": [
    {"filename": "screenshot.png", "content_type": "image/png", "size_bytes": 12345}
  ]
}
```

The caller supplies a nonempty `attachments` array. Each item requires a file basename, concrete MIME type, and exact byte count between 1 and 104857600. There are no defaults for these fields.

## Upload and attach

The response's `uploads` array contains, for each file:

| Field | Meaning |
| - | - |
| `upload_url` | The destination for an HTTP PUT of raw file bytes. |
| `method` | `PUT`. |
| `headers` | Required upload headers, including the private `Murmur-Upload-Token` capability. |
| `staged_attachment` | Metadata to pass unchanged to `spawn` or `queue_add`. |

1. Use your own HTTP tool to PUT the raw bytes to each `upload_url`, with all returned headers and the exact `Content-Length`. Do not use JSON or multipart encoding. No `Authorization` header is needed for the upload.
2. Wait for every upload to succeed.
3. Pass the returned `staged_attachment` objects as the `staged_attachments` array on `spawn` or `queue_add`, using the same authenticated MCP session.

The upload capability expires after 15 minutes. Keep it private: do not log it, share it, or put it in a URL. Each staged file can be claimed once. If preparation expires, prepare and upload again.

These are private task attachments. For uploading an artifact from a VM's local disk, use the local [`upload`](https://docs.murmur.dev/mcp-server/upload) tool.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.