s3_get_presigned_url
Generate a short-lived presigned URL to download or upload a single B2 object, with expiry control, so data flows directly between the client and B2 rather than through the MCP server.
Instructions
Generate a short-lived presigned URL bearer capability for one B2 object — GetObject (download) or PutObject (upload). Prefer this for single-object transfers; use s3_create_multipart_upload and s3_get_presigned_upload_part_url for multipart uploads. The response includes the URL, operation, expiresIn, and expiresAt; treat the URL as sensitive until it expires. This is the preferred path for moving real object data: bytes flow directly between the client/worker and B2 and never pass through the MCP server. Note: presigned POST (browser form uploads) is NOT supported by B2; use a PutObject URL instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The object key. | |
| bucket | Yes | The bucket name. | |
| confirm | No | Fallback confirmation for minting a PutObject presigned URL bearer capability when the effective server destructive policy is 'confirm' and MCP elicitation cannot run. | |
| expiresIn | No | URL expiry in seconds (default: 3600 = 1 hour, max: 604800 = 7 days). | |
| operation | Yes | The operation the URL allows: GetObject to download or PutObject to upload. | |
| versionId | No | For GetObject: the specific version ID to target. | |
| contentType | No | For PutObject: restrict the upload to this content type. |