Skip to main content
Glama
MSPbotsAI

wasabi-mcp

by MSPbotsAI

wasabi-mcp

Wasabi(S3互換のホットクラウドストレージ)向けMCPサーバー。Wasabi Stats API のバケット利用状況データをMCPツールとして公開します。

概要

  • ステートレスなHTTPサービス。認証情報は一切永続化されません。各リクエストがヘッダーで自身の認証情報を提供し、その単一リクエストの間だけ使用されます。

  • 同時リクエストをサポート。リクエストごとの認証情報の分離は、グローバル/共有クライアントインスタンスではなく、Pythonの contextvars によって行われます。

  • エントリポイント: POST /mcp(MCPプロトコル)と GET /health(ヘルスチェック)。

  • デフォルトポート: 8080MCP_HTTP_PORT で設定可能)。

Related MCP server: mcp-server-s3

認証

Wasabi Stats API(stats.wasabisys.com)は、S3互換オブジェクトストレージAPIとは別の、よりシンプルなAPIで、単一の静的ヘッダーを使用し、ログインやトークン交換はありません。

Authorization: <AccessKey>:<SecretKey>

使用するキーは、Wasabiのルートキー、または billing/stats ポリシー(WasabiAccountStatsAccess または WasabiBucketStatsAccess)がアタッチされたサブユーザーキーである必要があります。ストレージ専用のキーは拒否されます。これはベンダーの設計上、すでに完全にステートレスであり、MCP呼び出し間でキャッシュされるものはありません。

HEADER 認証パラメータの説明

ヘッダー

必須

デフォルト値

列挙値

フィールド説明

X-Wasabi-Access-Key

string

はい

なし

なし

Wasabi API Access Key(Root key または billing/stats 権限ポリシーを持つ key である必要があります)

AGWZ1234567890ABCDEF

X-Wasabi-Secret-Key

string

はい

なし

なし

対応する Secret Key

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

Wasabi Stats API のベース URL(bucket の region に関係なく固定)

MCP エンドポイント

  • POST /mcp — MCPプロトコル(ストリーミング可能なHTTPトランスポート)

  • GET /health — ヘルスチェック。{"status": "ok"} を返します(純粋なローカルプローブで、Wasabi API は呼び出しません)

ツール一覧

ツール

機能

パラメータ

wasabi_get_bucket_utilizations

アカウント内のすべての bucket の毎日のストレージ/API 呼び出し使用量レコードを一覧表示

page_size(オプション、デフォルト 100、ハード上限 100 — Wasabi Stats API 自体のページあたりの上限)、page_numfrom_dateto_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_configuredunauthorizednot_foundinvalid_argumentrate_limitedupstream_errorretryable は、再試行が価値があるかどうかを呼び出し元に伝えます。空の結果セット(要求された範囲に使用量レコードがない場合)は、エラーではなく通常の空の結果として返されます。

テスト例

# 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 をこの実行中のサーバーを通じてエンドツーエンドで呼び出し、実際のデータを取得しました — 270ページにわたる540件の実際のバケット利用状況レコード。実際のバケット名(例: "oraclegroup"、"centrewestib")が ap-southeast-2 リージョンに含まれ、実際のストレージ/API呼び出しメトリクスが含まれていました。

API リファレンス

既知のギャップ

  • スコープは MSPbots が設定した1つのエンドポイントのみであり、ベンダーの全APIサーフェスではない — Wasabi Stats API には、アカウントレベルのサマリーエンドポイント(GET /v1/standalone/utilizations)や、名前または番号によるバケットごとの詳細検索もありますが、これらはここでは対象外です。Wasabi S3互換オブジェクトストレージAPI(バケット/オブジェクトのCRUD)は完全に別のAPIであり、これも対象外です。

  • MSPbots がこの統合のために保存する region フィールドは、このサーバーでは使用されない — MSPbots が実際に使用するエンドポイント(Stats API バケット利用状況)は、特定のバケットがどの Wasabi リージョンにあるかに関係なく、固定のベースURL(https://stats.wasabisys.com)を持ちます。各返却レコードには独自の Region フィールドがすでに含まれています。region は、このサーバーが行わない直接のS3互換オブジェクトストレージ呼び出しにのみ関係します。

  • from/to の日付範囲のデフォルトはベンダー制御 — 省略した場合、Wasabi は「1か月前」から「今日」までをデフォルトとします。このサーバーは独自のデフォルトを適用せず、指定がない場合はパラメータを単に省略します。

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