wasabi-mcp
wasabi-mcp
Wasabi(S3互換のホットクラウドストレージ)向けMCPサーバー。Wasabi Stats API のバケット利用状況データをMCPツールとして公開します。
概要
ステートレスなHTTPサービス。認証情報は一切永続化されません。各リクエストがヘッダーで自身の認証情報を提供し、その単一リクエストの間だけ使用されます。
同時リクエストをサポート。リクエストごとの認証情報の分離は、グローバル/共有クライアントインスタンスではなく、Pythonの
contextvarsによって行われます。エントリポイント:
POST /mcp(MCPプロトコル)とGET /health(ヘルスチェック)。デフォルトポート:
8080(MCP_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 認証パラメータの説明
ヘッダー | 型 | 必須 | デフォルト値 | 列挙値 | フィールド説明 | 例 |
| string | はい | なし | なし | Wasabi API Access Key(Root key または billing/stats 権限ポリシーを持つ key である必要があります) |
|
| string | はい | なし | なし | 対応する Secret Key |
|
どちらかのヘッダーが欠けていると 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 | いいえ |
| Wasabi Stats API のベース URL(bucket の region に関係なく固定) |
MCP エンドポイント
POST /mcp— MCPプロトコル(ストリーミング可能なHTTPトランスポート)GET /health— ヘルスチェック。{"status": "ok"}を返します(純粋なローカルプローブで、Wasabi API は呼び出しません)
ツール一覧
ツール | 機能 | パラメータ |
| アカウント内のすべての bucket の毎日のストレージ/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 をこの実行中のサーバーを通じてエンドツーエンドで呼び出し、実際のデータを取得しました — 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か月前」から「今日」までをデフォルトとします。このサーバーは独自のデフォルトを適用せず、指定がない場合はパラメータを単に省略します。
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