Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Wasabi

БесплатноНе проверен

MCP server that exposes Wasabi cloud storage's Stats API bucket utilization data as a tool, enabling users to query storage and API call metrics for all buckets

GitHubEmbed

Описание

MCP server that exposes Wasabi cloud storage's Stats API bucket utilization data as a tool, enabling users to query storage and API call metrics for all buckets.

README

MCP server for Wasabi (S3-compatible hot cloud storage). Exposes the Wasabi Stats API's bucket utilization data as an MCP tool.

Overview

  • Stateless HTTP service. No credentials are ever persisted — each request supplies its own credentials via headers, used only for the lifetime of that single request.
  • Supports concurrent requests; per-request credential isolation is done via Python contextvars, not a global/shared client instance.
  • Entry points: POST /mcp (MCP protocol) and GET /health (health check).
  • Default port: 8080 (configurable via MCP_HTTP_PORT).

Authentication

The Wasabi Stats API (stats.wasabisys.com) — a separate, simpler API from the S3-compatible object storage API — uses a single static header, with no login/token exchange:

Authorization: <AccessKey>:<SecretKey>

The keys used must be Wasabi Root keys, or sub-user keys with an attached billing/stats policy (WasabiAccountStatsAccess or WasabiBucketStatsAccess) — plain storage-only keys are rejected. This is already fully stateless by the vendor's own design; nothing is cached across MCP calls.

HEADER 授权参数说明

Header 类型 是否必填 默认值 枚举值 字段描述 Example
X-Wasabi-Access-Key string Wasabi API Access Key(需为 Root key 或带 billing/stats 权限策略的 key) AGWZ1234567890ABCDEF
X-Wasabi-Secret-Key string 对应 Secret Key a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8g9h0

Missing either header returns 401:

{
  "error": "Missing credentials",
  "message": "This server requires the X-Wasabi-Access-Key and X-Wasabi-Secret-Key headers",
  "required_headers": ["X-Wasabi-Access-Key", "X-Wasabi-Secret-Key"],
  "optional_headers": []
}

Environment Variables

Variable 类型 是否必填 默认值 说明
MCP_HTTP_PORT int 8080 HTTP 监听端口
MCP_HTTP_HOST string 0.0.0.0 HTTP 监听地址
WASABI_STATS_BASE_URL string https://stats.wasabisys.com Wasabi Stats API 基础 URL(与 bucket 所在 region 无关,固定不变)

MCP Endpoint

  • POST /mcp — MCP protocol (streamable HTTP transport)
  • GET /health — health check, returns {"status": "ok", "service": "wasabi-mcp", "transport": "http"}

Tool List

Tool 功能 参数
wasabi_get_bucket_utilizations 列出账号下所有 bucket 的每日存储/API 调用用量记录 page_sizepage_numfrom_dateto_date(均可选)

Responses are the vendor's raw JSON ({"PageInfo": {...}, "Records": [...]}), pretty-printed, returned as-is.

测试示例

# Health check
curl -s http://localhost:8080/health

# Call a tool via the MCP protocol (streamable HTTP) — requires an
# initialize handshake first per the MCP spec; abbreviated example below
# shows the tool-call request body only:
curl -s -X POST http://localhost:8080/mcp \
  -H "X-Wasabi-Access-Key: <your-access-key>" \
  -H "X-Wasabi-Secret-Key: <your-secret-key>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <session-id-from-initialize>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "wasabi_get_bucket_utilizations",
      "arguments": {}
    }
  }'

Live-verified (2026-07-30) against a real Wasabi account: wasabi_get_bucket_utilizations called end-to-end through this running server returned real data — 540 real bucket-utilization records across 270 pages, including real bucket names (e.g. "oraclegroup", "centrewestib") in the ap-southeast-2 region, with real storage/API-call metrics.

API Reference

Known Gaps

  • Scope is exactly MSPbots' 1 configured endpoint, not the vendor's full API surface — the Wasabi Stats API also offers an account-level summary endpoint (GET /v1/standalone/utilizations) and per-bucket detail lookups by name or number; those are out of scope here. The Wasabi S3-compatible object storage API (bucket/object CRUD) is an entirely separate API and also out of scope.
  • The region field MSPbots also stores for this integration is not used by this server — the one endpoint MSPbots actually uses (Stats API bucket utilizations) has a fixed base URL (https://stats.wasabisys.com) regardless of which Wasabi region a given bucket lives in; each returned record already includes its own Region field. region would only matter for direct S3-compatible object storage calls, which this server does not make.
  • from/to date range defaults are vendor-controlled — if omitted, Wasabi defaults to "one month ago" through "today"; this server does not apply its own default and simply omits the parameter when not provided.

from github.com/MSPbotsAI/wasabi-mcp

Установить Wasabi в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install wasabi-mcp

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add wasabi-mcp -- uvx --from git+https://github.com/MSPbotsAI/wasabi-mcp wasabi-mcp

Пошаговые гайды: как установить Wasabi

FAQ

Wasabi MCP бесплатный?

Да, Wasabi MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Wasabi?

Нет, Wasabi работает без API-ключей и переменных окружения.

Wasabi — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Wasabi в Claude Desktop, Claude Code или Cursor?

Открой Wasabi на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Wasabi with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development