Skip to main content
Glama
stackblaze
by stackblaze

rustfs-mcp

A per-add-on RustFS (S3) object-storage admin MCP for the kubero chat. When a user selects a RustFS add-on in the chat's @-context selector, the kubero server (the feature-MCP broker) surfaces this server's tools namespaced s3__*, gated by the add-on selection. The 5th feature MCP after postgres/redis/mysql/kafka.

RustFS is an S3-compatible object store (operator CR kind Tenant, group rustfs.com); in-cluster its S3 API is http://<instance>-io:9000, plain HTTP with path-style addressing.

Architecture

ONE long-lived ClusterIP Deployment (rustfs-mcp:3010 in ns kubero-mcp) serves every RustFS add-on in the workload cluster. The target endpoint + credentials

  • access mode arrive per request as HTTP headers set by the kubero broker:

Header

Value

X-Kubero-DB-URI

s3://<accesskey>:<secretkey>@<host>:9000 (creds URL-encoded)

X-Kubero-Access-Mode

restricted (production phase, read-only) or unrestricted

--connection-from-request reads these via the FastMCP lowlevel request_ctx contextvar; a missing/invalid access mode ⇒ restricted (fail-safe). The kubero server reaches the service via apiserver port-forward — no public ingress.

Related MCP server: MinIO MCP Server

Tools

Reads (always available): list_buckets, list_objects, stat_object, bucket_usage, get_object_text, get_bucket_policy.

Writes (refused under restricted mode): create_bucket, delete_bucket, put_object_text, delete_object, set_bucket_policy.

Run

pip install -r requirements.txt

# Production (in-cluster): per-request connection from headers.
python main.py --transport streamable-http --connection-from-request \
  --streamable-http-host 0.0.0.0 --streamable-http-port 3010

# Local (stdio): binds one endpoint from S3_ENDPOINT_URL / AWS_* env (.env.template).
python main.py

CI / deploy

Mirrors the other stackblaze feature MCPs: auto-tag-on-maindocker-release (amd64, self-hosted kubero runner, ghcr.io/stackblaze/rustfs-mcp) → deploy.yaml rolls the ClusterIP Deployment to the workload cluster (gated on KUBECONFIG_B64_SHARED). Repo secrets: CHAIN_PAT, KUBECONFIG_B64_SHARED. Seed a v0.1.0-sb.0 tag once so auto-tag can increment.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Provides tools for interacting with MinIO and S3-compatible object storage through MCP clients like Claude. It enables comprehensive bucket and object management, including listing, creating, uploading, and generating presigned URLs.
    13
    2
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    It Integration for MinIO / S3-compatible object storage, providing AI assistants with direct access to bucket management, object CRUD, presigned URLs, policies, lifecycle rules, and storage analytics.
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that provides a bridge between MCP-compatible clients and MinIO object storage. It exposes MinIO operations as MCP tools for seamless bucket management and object operations.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for AWS S3 and compatible object stores, enabling LLM clients to browse buckets and fetch objects.
    MIT No Attribution

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/stackblaze/rustfs-mcp'

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