Skip to main content
Glama
backblaze-labs

Backblaze B2 MCP Server

Official

s3_put_bucket_lifecycle

DestructiveIdempotent

Configure lifecycle rules on a Backblaze B2 bucket to automate object expiration and abort incomplete multipart uploads, clearing all rules when an empty array is passed.

Instructions

Set S3 lifecycle rules on a B2 bucket; pass rules: [] to clear the S3 lifecycle configuration. Supports AbortIncompleteMultipartUpload, Expiration, and NoncurrentVersionExpiration. B2 does not support Transition/storage-class rules.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rulesYesRules to set; [] clears the configuration.
bucketYesThe bucket name.
confirmNoFallback confirmation under 'confirm' when rules is [] or rules expire objects and MCP elicitation cannot run. Not needed for abort-incomplete-upload-only rules.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / confirm / description
      Previous value: -"Required under 'confirm' when rules is [] or rules expire objects. Not needed for abort-incomplete-upload-only rules."New value: +"Fallback confirmation under 'confirm' when rules is [] or rules expire objects and MCP elicitation cannot run. Not needed for abort-incomplete-upload-only rules."
  2. First observedv0.2.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already mark the tool as destructive and idempotent, so no contradiction exists. The description adds valuable behavioral context by explaining that passing an empty rules array clears the S3 lifecycle configuration and by listing which lifecycle actions are supported versus unsupported. It does not explicitly state whether non-empty rules replace or merge with existing rules, but the clear/set framing largely covers this.

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?

The description is three sentences with no filler. The primary action and clear-behavior caveat are front-loaded, followed by supported rule types and the B2-specific limitation. Every sentence earns its place.

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

Completeness4/5

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

The description covers the operation's core semantics, the clearing mechanism, supported rule types, and a B2-specific limitation. There is no output schema, but return-value details are typically minor for this kind of set operation. The confirm parameter's purpose is documented in the schema, so the description does not need to repeat it. A minor gap is lack of explicit statement about whether setting new rules replaces all existing rules.

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

Parameters4/5

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

The input schema has 100% description coverage, including the bucket name, the rules array with '[] clears the configuration', and the confirm fallback behavior. The tool description adds extra semantic meaning by clarifying which rule types are valid on B2 and that Transition/storage-class rules are not supported, giving the agent additional constraints not fully spelled out in 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 states a specific action ('Set S3 lifecycle rules on a B2 bucket') with a clear resource and purpose. It also distinguishes itself by explaining the supported lifecycle actions and explicitly noting B2 does not support Transition/storage-class rules, which separates it from any lifecycle-related sibling tools.

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

Usage Guidelines4/5

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

The description gives explicit usage context: use it to set lifecycle rules, pass rules: [] to clear the configuration, and do not use Transition/storage-class rules because B2 does not support them. It does not explicitly name alternative sibling tools, but the constraints and clear-vs-set guidance are sufficient for tool selection.

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