Skip to main content
Glama
MSPbotsAI

wasabi-mcp

by MSPbotsAI

wasabi-mcp

Servidor MCP para Wasabi (almacenamiento en la nube en caliente compatible con S3). Expone los datos de utilización de buckets de la Stats API de Wasabi como una herramienta MCP.

Descripción general

  • Servicio HTTP sin estado. Las credenciales nunca se persisten: cada solicitud aporta sus propias credenciales mediante cabeceras, que se utilizan únicamente durante la vida de esa única solicitud.

  • Admite solicitudes concurrentes; el aislamiento de credenciales por solicitud se realiza mediante contextvars de Python, no mediante una instancia de cliente global/compartida.

  • Puntos de entrada: POST /mcp (protocolo MCP) y GET /health (comprobación de estado).

  • Puerto predeterminado: 8080 (configurable mediante MCP_HTTP_PORT).

Related MCP server: mcp-server-s3

Autenticación

La Wasabi Stats API (stats.wasabisys.com) — una API separada y más sencilla que la API de almacenamiento de objetos compatible con S3 — utiliza una única cabecera estática, sin inicio de sesión ni intercambio de tokens:

Authorization: <AccessKey>:<SecretKey>

Las claves utilizadas deben ser claves raíz de Wasabi o claves de subusuario con una política de facturación/estadísticas adjunta (WasabiAccountStatsAccess o WasabiBucketStatsAccess) — las claves de solo almacenamiento se rechazan. Esto ya es totalmente sin estado por diseño del propio proveedor; no se almacena nada en caché entre llamadas MCP.

Parámetros de autorización de la cabecera

Cabecera

Tipo

¿Obligatorio?

Valor predeterminado

Valores enumerados

Descripción del campo

Ejemplo

X-Wasabi-Access-Key

string

Ninguno

Ninguno

Clave de acceso de la API de Wasabi (debe ser una clave raíz o una clave con una política de permisos de facturación/estadísticas)

AGWZ1234567890ABCDEF

X-Wasabi-Secret-Key

string

Ninguno

Ninguno

La clave secreta correspondiente

a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8g9h0

Si falta cualquiera de las dos cabeceras, se devuelve 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": []
}

Variables de entorno

Variable

Tipo

¿Obligatorio?

Valor predeterminado

Descripción

MCP_HTTP_PORT

int

No

8080

Puerto de escucha HTTP

MCP_HTTP_HOST

string

No

0.0.0.0

Dirección de escucha HTTP

WASABI_STATS_BASE_URL

string

No

https://stats.wasabisys.com

URL base de la Wasabi Stats API (fija, independiente de la región del bucket)

Endpoint MCP

  • POST /mcp — protocolo MCP (transporte HTTP por streaming)

  • GET /health — comprobación de estado, devuelve {"status": "ok"} (sondeo puramente local, no llama a la API de Wasabi)

Lista de herramientas

Herramienta

Función

Parámetros

wasabi_get_bucket_utilizations

Enumera los registros de uso diario de almacenamiento/llamadas a la API de todos los buckets de la cuenta

page_size (opcional, predeterminado 100, tope máximo de 100 — el límite por página de la propia Wasabi Stats API), page_num, from_date, to_date (todos opcionales)

Las respuestas son el JSON sin procesar del proveedor ({"PageInfo": {...}, "Records": [...]}), serializado de forma compacta (sin sangría, ensure_ascii=False) y limitado a 20 000 caracteres: si la lista Records hiciera que la respuesta superara ese límite, se trunca añadiendo a la carga útil los marcadores truncated/truncated_field/original_count.

Gestión de errores

En caso de error, las herramientas devuelven una envoltura de error JSON (como cadena, no como error a nivel de protocolo) en lugar de lanzar una excepción:

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

code es uno de un vocabulario fijo: not_configured, unauthorized, not_found, invalid_argument, rate_limited, upstream_error. retryable indica a quien llama si merece la pena reintentar. Los conjuntos de resultados vacíos (sin registros de uso para el rango solicitado) se devuelven como un resultado vacío normal, no como un error.

Ejemplo de prueba

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

Verificado en vivo (2026-07-30) contra una cuenta real de Wasabi: wasabi_get_bucket_utilizations se invocó de extremo a extremo a través de este servidor en ejecución y devolvió datos reales: 540 registros reales de utilización de buckets en 270 páginas, incluidos nombres reales de buckets (p. ej. «oraclegroup», «centrewestib») en la región ap-southeast-2, con métricas reales de almacenamiento/llamadas a la API.

Referencia de la API

Limitaciones conocidas

  • El alcance es exactamente el endpoint configurado de MSPbots, no toda la superficie de la API del proveedor — la Wasabi Stats API también ofrece un endpoint de resumen a nivel de cuenta (GET /v1/standalone/utilizations) y consultas de detalle por bucket por nombre o número; todo ello queda fuera del alcance aquí. La API de almacenamiento de objetos compatible con S3 de Wasabi (CRUD de buckets/objetos) es una API completamente distinta y también queda fuera del alcance.

  • El campo region que MSPbots también almacena para esta integración no lo utiliza este servidor — el único endpoint que MSPbots usa realmente (utilizaciones de buckets de la Stats API) tiene una URL base fija (https://stats.wasabisys.com) independientemente de en qué región de Wasabi se encuentre un bucket determinado; cada registro devuelto ya incluye su propio campo Region. region solo importaría para llamadas directas de almacenamiento de objetos compatible con S3, que este servidor no realiza.

  • Los valores predeterminados del intervalo de fechas from/to los controla el proveedor — si se omiten, Wasabi utiliza por defecto «hace un mes» hasta «hoy»; este servidor no aplica su propio valor predeterminado y simplemente omite el parámetro cuando no se proporciona.

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