wasabi-mcp
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.
Описание параметров заголовка
Заголовок | Тип | Обязателен | По умолчанию | Допустимые значения | Описание поля | Пример |
| string | Да | — | — | Ключ доступа Wasabi API (должен быть корневым ключом или ключом с политикой биллинга/статистики) |
|
| string | Да | — | — | Соответствующий секретный ключ |
|
Отсутствие любого из заголовков возвращает 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": []
}Переменные окружения
Переменная | Тип | Обязательна | По умолчанию | Описание |
| int | Нет |
| Порт прослушивания HTTP |
| string | Нет |
| Адрес прослушивания HTTP |
| string | Нет |
| Базовый URL Wasabi Stats API (не зависит от региона бакета, фиксированный) |
Конечная точка MCP
POST /mcp— протокол MCP (потоковый HTTP-транспорт)GET /health— проверка здоровья, возвращает{"status": "ok"}(чисто локальная проверка, не вызывает Wasabi API)
Список инструментов
Инструмент | Функция | Параметры |
| Перечисляет ежедневные записи об использовании хранилища/вызовов API для всех бакетов аккаунта |
|
Ответы — это необработанный 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 по умолчанию использует "один месяц назад" до "сегодня"; этот сервер не применяет собственное значение по умолчанию и просто опускает параметр, если он не предоставлен.
This server cannot be installed
Maintenance
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
- FlicenseBqualityDmaintenanceA 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
- AlicenseAqualityDmaintenanceMCP server for AWS S3 — list buckets, browse objects, upload/download files, and generate presigned URLs.7604MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for uploading, listing, and retrieving files on S3-compatible storage (AWS S3, DigitalOcean Spaces) with public/private access and temporary URLs.11MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for AWS S3 and compatible object stores, enabling LLM clients to browse buckets and fetch objects.MIT No Attribution
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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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