Skip to main content
Glama
backblaze-labs

Backblaze B2 MCP Server

Official

s3_list_object_versions

Read-onlyIdempotent

Lists object versions and delete markers in a Backblaze B2 bucket to locate specific versions before targeted retrieval, copy, or deletion. Use this to handle versioned objects.

Instructions

List object versions and delete markers in a B2 bucket using the S3-compatible API. Use before version-targeted s3_get_object, s3_head_object, s3_copy_object, or s3_delete_object calls; use s3_list_objects_v2 when current live objects are enough. Requires listFiles. Results are paginated with maxKeys (default 1000, max 1000) and paired key/version markers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bucketYesBucket name whose object versions should be listed.
prefixNoOnly list versions and delete markers for keys that start with this prefix.
maxKeysNoMaximum versions/delete markers to return (default 1000, range 1-1000).
delimiterNoOptional delimiter, usually '/', to group common key prefixes.
keyMarkerNoPagination cursor: nextKeyMarker from a previous response.
versionIdMarkerNoPagination cursor paired with keyMarker: nextVersionIdMarker from a previous response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / bucket / description
      Previous value: -"The bucket name."New value: +"Bucket name whose object versions should be listed."
    • addedInput schema / properties / delimiter / description
      Added value: +"Optional delimiter, usually '/', to group common key prefixes."
    • changedInput schema / properties / keyMarker / description
      Previous value: -"Pagination cursor — key from a previous response."New value: +"Pagination cursor: nextKeyMarker from a previous response."
    • addedInput schema / properties / maxKeys / description
      Added value: +"Maximum versions/delete markers to return (default 1000, range 1-1000)."
    • changedInput schema / properties / prefix / description
      Previous value: -"Only list versions for objects with this prefix."New value: +"Only list versions and delete markers for keys that start with this prefix."
    • changedInput schema / properties / versionIdMarker / description
      Previous value: -"Pagination cursor — version ID from a previous response."New value: +"Pagination cursor paired with keyMarker: nextVersionIdMarker from a previous response."
  2. First observedv0.2.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnly, openWorld, idempotent, and non-destructive hints. The description adds useful behavioral context beyond that: pagination behavior with maxKeys default/max of 1000, paired key/version markers, and the listFiles permission requirement. No contradiction with annotations.

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?

Three dense sentences with no filler. It front-loads the action and resource, then gives usage guidance and pagination details, earning every sentence's place.

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?

For a read-only listing tool with rich schema coverage and annotations, the description is complete: it covers purpose, when to use versus alternatives, required permission, and key pagination behavior. No output schema is present, but the description sufficiently conveys what the call returns.

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?

Schema description coverage is 100%, so the baseline is 3. The description reinforces maxKeys limits and the paired keyMarker/versionIdMarker pagination scheme, but these details are already fully documented in the schema, so it adds limited new semantic value.

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 states a specific verb and resource: listing object versions and delete markers in a B2 bucket via the S3-compatible API. It also distinguishes itself from s3_list_objects_v2 by name, so an agent can tell them apart immediately.

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?

Explicitly says when to use this tool: before version-targeted s3_get_object, s3_head_object, s3_copy_object, or s3_delete_object calls. It also names the alternative s3_list_objects_v2 for when current live objects are sufficient, and states the required listFiles permission.

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