Skip to main content
Glama
MSPbotsAI

wasabi-mcp

by MSPbotsAI

wasabi-mcp

MCP-сервер для Wasabi (горячее облачное хранилище, совместимое с S3). Предоставляет данные об использовании бакетов Stats API Wasabi как инструмент MCP.

Обзор

  • Статeless HTTP-сервис. Учетные данные никогда не сохраняются — каждый запрос передает свои учетные данные через заголовки, которые используются только в течение этого одного запроса.

  • Поддерживает параллельные запросы; изоляция учетных данных для каждого запроса осуществляется через Python contextvars, а не через глобальный/общий экземпляр клиента.

  • Точки входа: POST /mcp (протокол MCP) и GET /health (проверка здоровья).

  • Порт по умолчанию: 8080 (настраивается через MCP_HTTP_PORT).

Related MCP server: mcp-server-s3

Аутентификация

Wasabi Stats API (stats.wasabisys.com) — отдельный, более простой API, отличный от S3-совместимого API объектного хранилища — использует один статический заголовок, без обмена логином/токеном:

Authorization: <AccessKey>:<SecretKey>

Используемые ключи должны быть корневыми ключами Wasabi или ключами подпользователя с прикрепленной политикой биллинга/статистики (WasabiAccountStatsAccess или WasabiBucketStatsAccess) — обычные ключи только для хранения отклоняются. Это уже полностью без сохранения состояния по замыслу вендора; ничего не кэшируется между вызовами MCP.

Описание параметров заголовка

Заголовок

Тип

Обязателен

По умолчанию

Допустимые значения

Описание поля

Пример

X-Wasabi-Access-Key

string

Да

Ключ доступа Wasabi API (должен быть корневым ключом или ключом с политикой биллинга/статистики)

AGWZ1234567890ABCDEF

X-Wasabi-Secret-Key

string

Да

Соответствующий секретный ключ

a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8g9h0

Отсутствие любого из заголовков возвращает 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": []
}

Переменные окружения

Переменная

Тип

Обязательна

По умолчанию

Описание

MCP_HTTP_PORT

int

Нет

8080

Порт прослушивания HTTP

MCP_HTTP_HOST

string

Нет

0.0.0.0

Адрес прослушивания HTTP

WASABI_STATS_BASE_URL

string

Нет

https://stats.wasabisys.com

Базовый URL Wasabi Stats API (не зависит от региона бакета, фиксированный)

Конечная точка MCP

  • POST /mcp — протокол MCP (потоковый HTTP-транспорт)

  • GET /health — проверка здоровья, возвращает {"status": "ok"} (чисто локальная проверка, не вызывает Wasabi API)

Список инструментов

Инструмент

Функция

Параметры

wasabi_get_bucket_utilizations

Перечисляет ежедневные записи об использовании хранилища/вызовов API для всех бакетов аккаунта

page_size (необязательно, по умолчанию 100, жесткий лимит 100 — собственный лимит Wasabi Stats API на страницу), page_num, from_date, to_date (все необязательны)

Ответы — это необработанный JSON вендора ({"PageInfo": {...}, "Records": [...]}), сериализованный компактно (без отступов, ensure_ascii=False) и ограниченный 20 000 символов — если список Records превысит этот лимит, он обрезается с добавлением маркеров truncated/truncated_field/original_count в полезную нагрузку.

Обработка ошибок

При сбое инструменты возвращают JSON-конверт ошибки (в виде строки, а не ошибки уровня протокола) вместо исключения:

{"error": {"code": "upstream_error", "message": "...", "retryable": true}}

code — одно из фиксированного набора: not_configured, unauthorized, not_found, invalid_argument, rate_limited, upstream_error. retryable сообщает вызывающей стороне, стоит ли повторять попытку. Пустые наборы результатов (нет записей об использовании за запрошенный диапазон) возвращаются как обычный пустой результат, а не как ошибка.

Пример тестирования

# 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": {}
    }
  }'

Проверено вживую (2026-07-30) на реальном аккаунте Wasabi: wasabi_get_bucket_utilizations, вызванный от начала до конца через этот работающий сервер, вернул реальные данные — 540 реальных записей об использовании бакетов на 270 страницах, включая реальные имена бакетов (например, "oraclegroup", "centrewestib") в регионе ap-southeast-2, с реальными метриками хранилища/вызовов API.

Справочник API

Известные пробелы

  • Область действия — ровно один настроенный конечный пункт MSPbots, а не полная поверхность API вендора — Wasabi Stats API также предлагает сводную конечную точку уровня аккаунта (GET /v1/standalone/utilizations) и детальные запросы по бакетам по имени или номеру; они выходят за рамки здесь. S3-совместимый API объектного хранилища Wasabi (CRUD бакетов/объектов) — это совершенно отдельный API, также выходящий за рамки.

  • Поле region, которое MSPbots также хранит для этой интеграции, не используется этим сервером — единственная конечная точка, которую MSPbots фактически использует (использование бакетов Stats API), имеет фиксированный базовый URL (https://stats.wasabisys.com) независимо от того, в каком регионе Wasabi находится данный бакет; каждая возвращаемая запись уже включает собственное поле Region. region имел бы значение только для прямых вызовов S3-совместимого объектного хранилища, которые этот сервер не выполняет.

  • Значения по умолчанию для диапазона дат from/to контролируются вендором — если не указаны, Wasabi по умолчанию использует "один месяц назад" до "сегодня"; этот сервер не применяет собственное значение по умолчанию и просто опускает параметр, если он не предоставлен.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    A lightweight MCP server that provides real-time hardware statistics including CPU, memory, disk, and NVIDIA GPU usage. It enables users to monitor system performance and retrieve comprehensive host machine specifications through a standardized interface.
    1
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for uploading, listing, and retrieving files on S3-compatible storage (AWS S3, DigitalOcean Spaces) with public/private access and temporary URLs.
    11
    MIT
  • 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

View all related MCP servers

Related MCP Connectors

  • MCP server exposing Kettle Logic insight articles & industry guidance as tools + resources.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

  • MCP server for interacting with the Supabase platform

View all MCP Connectors

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/MSPbotsAI/wasabi-mcp'

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