mcpField
W
Websupport

Websupport

ローカル
github.comクラウド・インフラ08 週間前に更新

Websupport について

Websupportは、REST API v1とv2を通じてWebsupportのホスティングアカウントを管理するTypeScript製MCPサーバーです。読み取り、書き込み、破壊的操作を個別のオプトインで分け、多くの応答形式が未検証であることも明記しています。

主な機能

  1. 01DNS、FTP、ホスティング管理
  2. 02データベース、メールボックス、VPSのツール
  3. 03請求書へのアクセス
  4. 04読み取り・書き込み・破壊的操作の分離
  5. 05HMAC-SHA1によるAPI認証

活用シーン

  1. 01Websupportアカウントのリソースを確認
  2. 02オプトインで必要なアカウント変更を有効化
  3. 03MCPクライアントからホスティングを管理

MCP 対応

stdio経由でWebsupport REST APIの操作をMCPツールとして公開します。書き込みツールと破壊的操作のツールは、それぞれ対応する環境変数のオプトイン後に登録されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"tydung26-websupport": {
"command": "npx",
"args": [
"-y",
"websupport-mcp"
],
"env": {
"WEBSUPPORT_API_KEY": "<WEBSUPPORT_API_KEY>",
"WEBSUPPORT_API_SECRET": "<WEBSUPPORT_API_SECRET>",
"WEBSUPPORT_API_BASE_URL": "<WEBSUPPORT_API_BASE_URL>",
"WEBSUPPORT_ACCEPT_LANGUAGE": "<WEBSUPPORT_ACCEPT_LANGUAGE>",
"WEBSUPPORT_ALLOW_WRITE": "<WEBSUPPORT_ALLOW_WRITE>",
"WEBSUPPORT_ALLOW_DESTRUCTIVE": "<WEBSUPPORT_ALLOW_DESTRUCTIVE>"
}
}
}
}
起動コマンドnpx -y websupport-mcp
設定が必要な環境変数
WEBSUPPORT_API_KEYシークレットAPI key identifier from WebAdmin (Security -> API keys). Generate a Standard pair; a DynDNS pair authenticates against one endpoint only.
WEBSUPPORT_API_SECRETシークレットAPI secret paired with the key. Used only to sign requests; it is never transmitted.
WEBSUPPORT_API_BASE_URLMarket selection. Defaults to https://rest.websupport.sk. Also live: rest.websupport.cz, rest.websupport.hu, rest.websupport.se.
WEBSUPPORT_ACCEPT_LANGUAGELanguage for API responses.
WEBSUPPORT_ALLOW_WRITESet to 1 to register the 13 write tools. Omit for a read-only deployment, where they never appear in tools/list at all.
WEBSUPPORT_ALLOW_DESTRUCTIVESet to 1 to register the 7 destructive tools, each of which also requires confirm: true on every call. Independent of WEBSUPPORT_ALLOW_WRITE.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmwebsupport-mcp0.1.1

ツール

30

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

websupport-mcp

Websupport REST API v1 + v2 をラップする MCP サーバー(TypeScript、ESM、stdio)です。DNS、FTP、ホスティング、データベース、メールボックス、VPS、請求書を、HMAC-SHA1 署名認証付きの MCP ツールとして公開します。

npm ライセンス: MIT M8ven Score

ステータス:初期段階です。 50 個のツールすべてが実装・公開されていますが、大半は API に到達するところまでしか検証されていません。ルート、署名、エラー処理は検証済みですが、レスポンスの形式はほとんど確認できていません。ツールを利用する前にdocs/verification-matrix.mdを読み、進捗についてはIMPLEMENTATION_PLAN.mdを確認してください。

リスクレベル

ツールは 3 つのレベルに分けて登録され、レベルによって登録が制御されます。読み取り専用のデプロイでは、書き込みツールはtools/listに一切表示されないため、クライアントのコンテキストを消費せず、操作手段も提供しません。

レベルオプトイン呼び出しごとの追加ゲート現在の数
read常に有効—30 個のツール
writeWEBSUPPORT_ALLOW_WRITE=1—13 個のツール
destructiveWEBSUPPORT_ALLOW_DESTRUCTIVE=1confirm: true 引数7 個のツール

状態を低コストで再作成できない形で破壊するツールをdestructiveとしています。単に書き込みを行うからという理由ではありません。VPS の通常の再起動はwriteですが、強制電源サイクルは進行中の書き込みを破損させる可能性があるため、destructiveです。スナップショットの取得はwriteですが、復元はそれ以降のすべての変更を破棄するため、destructiveです。

2 つのオプトインは独立しています。WEBSUPPORT_ALLOW_DESTRUCTIVE=1だけでは書き込みツールは有効にならず、その逆も同様です。

安全性を担保するのは MCP のエリシテーションではなく、confirm: true引数です。プロトコルのネゴシエーションで、エリシテーションに対応するリビジョンよりもかなり古いバージョンが選ばれる可能性があります。このサーバーの SDK が現在対応しているのは2025-11-25までです。古いクライアントで無効になるゲートは、ゲートとは言えません。

インストール

Node >= 22が必要です。事前にインストールするものはありません。初回実行時にnpxがパッケージを取得します。

MCP クライアントの設定に以下を追加してください。

{
  "mcpServers": {
    "websupport": {
      "command": "npx",
      "args": ["-y", "websupport-mcp"],
      "env": {
        "WEBSUPPORT_API_KEY": "…",
        "WEBSUPPORT_API_SECRET": "…"
      }
    }
  }
}

これにより、読み取り専用ツール 30 個を利用できます。この設定ではアカウントに変更を加えることはできません。

変更を許可するには、必要なオプトインのみを追加してください。上記のリスクレベルを参照してください。

"env": {
  "WEBSUPPORT_API_KEY": "…",
  "WEBSUPPORT_API_SECRET": "…",
  "WEBSUPPORT_ALLOW_WRITE": "1",
  "WEBSUPPORT_ALLOW_DESTRUCTIVE": "1"
}

組み合わせごとの設定例はexamples/mcp-config/にあります。バージョンを固定するには、websupport-mcpの代わりに[email protected]を指定してください。

接続できたら、クライアントにws_auth_checkを実行するよう指示してください。認証情報が有効な場合は{"verified": true}が返されます。キーの誤りと、それ以外の問題を切り分ける最も簡単な方法です。

Docker

npxではなくコンテナを実行するホストや、レジストリのビルド用サンドボックス向けに、Dockerfileが含まれています。

docker build -t websupport-mcp .
docker run -i --rm -e WEBSUPPORT_API_KEY -e WEBSUPPORT_API_SECRET websupport-mcp

-iは必須です。トランスポートはstdioです。イメージには認証情報が組み込まれていないため、実行ごとに渡してください。

ローカルチェックアウトから実行

開発時や、未リリースの変更を実行する場合:

npm install
npm run build

その後、commandをnodeに、argsをビルド済みのエントリーポイント(<checkout>/dist/index.js)に設定し、npxの代わりに指定してください。

認証情報

WebAdmin(Security → API keys)でStandard API アクセスペアを生成してください。DynDNS 専用ペアは /nic/update の認証にのみ使用でき、ほかの用途には使えません。

変数必須デフォルト備考
WEBSUPPORT_API_KEYはい—ペアの識別子です。
WEBSUPPORT_API_SECRETはい—ペアのシークレットです。HMAC-SHA1 署名に使用されます。ログに記録されず、エラーで返されることもありません。
WEBSUPPORT_API_BASE_URLいいえhttps://rest.websupport.skマーケットの選択については以下を参照してください。
WEBSUPPORT_ACCEPT_LANGUAGEいいえen_usen_us、sk、cs_cz、hu のいずれかです。
WEBSUPPORT_ALLOW_WRITEいいえoff書き込みツールを登録するには、1 に設定します。
WEBSUPPORT_ALLOW_DESTRUCTIVEいいえoff破壊的なツールを登録するには、1 に設定します。

ローカル開発では .env.example をコピーしてください。.env は gitignore 対象です。

認証情報がなくてもサーバーは停止しません。起動してツールを登録し、認証なしで tools/list に応答します。これは、レジストリのビルド用サンドボックス、MCP Inspector、クライアント設定のプローブが、キーを持つユーザーがいない状態で行う処理です。その後、最初のツール呼び出しで、値が設定されていない変数名を示すメッセージとともに失敗します。

マーケット

Websupport は地域ごとに展開する team.blue/Loopia ブランドのため、API ホストによってマーケットが選択されます。同じアプリケーションがすべてのホストに対応しており、GET /v2/docs/openapi.json の内容はどのホストでもバイト単位で同一です。そのため、マーケットの切り替えはコード変更ではなく設定で行います。

マーケットWEBSUPPORT_API_BASE_URL
スロバキア(デフォルト)https://rest.websupport.sk
チェコhttps://rest.websupport.cz
ハンガリーhttps://rest.websupport.hu
スウェーデンhttps://rest.websupport.se

認識されないホストは標準エラー出力に警告を出したうえで、そのまま使用されます。そのため、新たに追加されたマーケットもリリースを待たずに利用できます。

ドキュメント

ドキュメント内容
docs/tools.mdすべてのツールのティア、メソッドとパス、確認要件です。レジストリから生成されるため、手動編集はしません。
docs/verification-matrix.md各ツールについて実際に検証済みの内容と、未検証の内容です。本番環境でツールを信頼して使う前にお読みください。
docs/system-architecture.mdリクエストの経路、署名の仕様と直感に反する3つのルール、ティアモデルの仕組みです。
docs/codebase-summary.mdモジュールの構成図です。各要素の配置場所と、その理由を説明します。
examples/mcp-config/各ティアの組み合わせに対応した、編集してすぐ使えるクライアント設定です。

対象範囲

注文の作成と、請求書/注文の支払いエンドポイントは意図的に対象外としており、テストで存在しないことを確認しています。v1 の DNS レコード CRUD と v1 の FTP アカウント CRUD は上流で非推奨となっているため公開していません。どちらも v2 ツールで対応しています。

開発

npm test              # offline suite
npm run test:network  # live, unauthenticated probes (market hosts + OpenAPI drift)
npm run typecheck
npm run lint
npm run build

ネットワークスイートは意図的に分離されています。Websupport に障害が発生しても、ビルドが失敗することはありません。

ツールチェーン

実行またはビルドには Node >= 22 が必要です。Node 20 は 2026-04-30 にサポート終了となり、サポート対象外です。CI では、現在有効な2つの LTS 系列である 22 と 24 を対象とし、それぞれでバンドルのビルドとスモークテストを実行します。

ビルドには npm >= 11 も必要です。npm 10 ではバンドラーの依存関係ツリーを解決できず、わかりにくい Cannot read properties of null (reading 'edgesOut') エラーが発生します。このエラーが発生した場合は、リポジトリのデバッグではなく npm をアップグレードしてください。

セキュリティ

このサーバーが保持する認証情報を使うと、Websupport アカウントを完全に制御できます。読み取り専用の API ペアはありません。SECURITY.md では、認証情報の取り扱い方法、機密データを返すツール、脆弱性を非公開で報告する方法について説明しています。

コントリビューション

CONTRIBUTING.md を参照してください。レビューではなくテストによって強制される境界が2つあります。注文または支払いのエンドポイントを含めないこと、そしてすべての破壊的なツールで confirm: true を宣言することです。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。