create_attachment
Upload an image from a file path or HTTPS URL to embed in Meet Rupert documents. Returns an attachment reference for inclusion.
Instructions
Upload an image so it can be embedded in a Meet Rupert document. PASS A FILE PATH OR AN HTTPS URL — NOT THE IMAGE DATA. The server reads the bytes itself; there is no base64 or inline-content parameter and you must not attempt to supply one. This is because a large payload placed in a tool-call argument gets silently truncated in transit (an 18,880-byte payload arrived as 7,312 bytes in testing, corrupting the file with no error raised), which rules out essentially every real screenshot. Letting the server read the file makes the returned contentLength and sha256 facts about the file itself, so you can verify them against the source. Accepts image/png, image/jpeg, image/webp and image/gif only, up to 10 MB — the type is determined from the file's magic bytes, not its extension. SVG and non-image files (PDF, .docx, plain text) cannot be attached: the platform has no storage for them. Returns an attachmentId and a ready-to-use markdownRef like  — put that in the content of create_document or update_document to place the image.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | Absolute path to an image file on a filesystem this SERVER can read. The server opens and reads the file itself — do not read the file yourself and do not pass its contents. Must be inside an operator-configured allowlist (MEETRUPERT_ATTACHMENT_DIRS); if none is configured, path is refused and you should use source_url instead. | |
| caption | No | Alt text / caption for the image, used in the returned markdownRef. Worth setting: it is what a reader sees if the image fails to load. | |
| source_url | No | An https:// URL the server fetches itself. HTTP is refused, redirects are not followed, and private/loopback/link-local/cloud-metadata addresses are blocked. |