Skip to main content
Glama
backblaze-labs

Backblaze B2 MCP Server

Official

s3_get_presigned_upload_part_url

Idempotent

Generate short-lived presigned URLs for individual parts of an S3-compatible multipart upload, enabling clients to upload each part directly to Backblaze B2.

Instructions

Generate short-lived presigned PUT URL bearer capabilities for parts of an S3-compatible multipart upload, so the client/worker uploads each part DIRECTLY to B2. Prefer this over s3_get_presigned_url for multipart uploads; use s3_get_presigned_url for single-object PUT/GET transfers. The response includes expiresIn/expiresAt; treat each URL as sensitive until it expires. Flow: s3_create_multipart_upload → s3_get_presigned_upload_part_url → PUT each part to its URL (capture the ETag from each response header) → s3_complete_multipart_upload with those ETags. Parts except the last must be ≥5 MiB, and no part may exceed 5 GiB.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesThe object key.
bucketYesThe bucket name.
uploadIdYesThe UploadId from s3_create_multipart_upload.
expiresInNoURL expiry in seconds (default: 3600 = 1 hour, max: 604800 = 7 days).
partNumbersYesPart numbers to presign (each 1–10000). Mint all parts at once, or only the missing ones to resume.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description adds valuable behavioral context: URLs are sensitive bearer capabilities, the response contains expiresIn/expiresAt, the client must capture ETags from PUT responses, and part size constraints apply. This clarifies that the tool itself only mints URLs while the upload happens externally, consistent with openWorldHint=true.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: purpose, alternative routing, security caveat, workflow sequence, and size constraints. The most important scoping information is front-loaded, and the flow is compact but complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully equips an agent to use the tool correctly within the multipart lifecycle: prerequisite create call, direct PUT usage, ETag capture, subsequent complete call, part size limits, and expiry behavior. No output schema exists, but the key response fields are stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all parameters with detailed descriptions (100% coverage), so the baseline is 3. The description adds useful flow context around uploadId and partNumbers, but it does not substantially explain parameter formats beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Generate short-lived presigned PUT URL bearer capabilities for parts of an S3-compatible multipart upload.' It clearly distinguishes itself from s3_get_presigned_url, which is for single-object transfers, so an agent can immediately tell which tool to use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Prefer this over s3_get_presigned_url for multipart uploads; use s3_get_presigned_url for single-object PUT/GET transfers.' It also gives the full sequence with related sibling tools and states resumability by minting only missing part numbers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/backblaze-labs/b2-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server