mcpField
C
Cork

Cork

ローカル
github.comセキュリティ01 週間前に更新

Cork について

Cork は、Cork のサイバー保険 APIを利用する MSP向けの読み取り専用 MCP サーバーです。顧客の補償状況、サイバースコア、リスクイベント、脆弱性、連携、請求書、インストーラー情報をまとめ、認証情報の取得や書き込み操作は行いません。

主な機能

  1. 01顧客の補償状況とスコア履歴
  2. 02リスク、コンプライアンス、脆弱性データ
  3. 03接続済み連携の一覧
  4. 04保証と請求書の記録
  5. 05インストール履歴とソフトウェアパッケージ情報

活用シーン

  1. 01顧客の保証状況とサイバースコアの確認
  2. 02コンプライアンスイベントとソフトウェア脆弱性の追跡
  3. 03接続済み連携と観測されたデバイスの確認
  4. 04請求書や過去のソフトウェアインストール試行の確認

MCP 対応

Cork APIの読み取り専用操作を MCP ツールとして公開し、顧客、リスク、連携、保証、請求書、パートナー、インストーラーのデータを扱います。認証情報と連携の生データを返すエンドポイント、および変更操作は対象外です。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wyre-ai-cork": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CORK_API_KEY",
"-e",
"MCP_TRANSPORT",
"-e",
"AUTH_MODE",
"-e",
"LOG_LEVEL",
"ghcr.io/wyre-ai/cork-mcp:v1.0.1"
],
"env": {
"CORK_API_KEY": "<CORK_API_KEY>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"AUTH_MODE": "<AUTH_MODE>",
"LOG_LEVEL": "<LOG_LEVEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e CORK_API_KEY -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/cork-mcp:v1.0.1
設定が必要な環境変数
CORK_API_KEYシークレットCork API key (Bearer token, generated in Cork's Admin UI). It only ever holds a live bearer key.
MCP_TRANSPORTTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODEシークレットCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELLog verbosity: debug, info, warn, error

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

パッケージ
ocighcr.io/wyre-ai/cork-mcp:v1.0.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Cork MCP Server

MSP 向け Cork のサイバー保険 API を利用する MCP サーバーです。AI アシスタントと WYRE Conduit ゲートウェイ向けに、クライアントとその保証/補償状況、Cork Cyber Score の履歴、リスクおよびコンプライアンスイベント、ソフトウェアの脆弱性(CVE/CVSS/EPSS/KEV)、接続済みのインテグレーション、請求書、販売代理店パートナー、ソフトウェアインストーラーのメタデータを提供します。

認証

Cork は、Cork の管理 UI(設定 -> API)で生成された静的な Bearer API key で認証します。Cork の OpenAPI 仕様には、独自のリモート MCP サーバー向けの OAuth2 フローも記載されていますが、基盤となる認証情報は同じ API キーです。このコネクターは OAuth のやり取りを行わず、有効な Bearer キーのみを保持し、Authorization: Bearer <key> として Cork の API に送信します。ゲートウェイモードでは、リクエストごとに X-Cork-Api-Key ヘッダー経由でキーを受け取ります。ローカル/stdio モードでは、CORK_API_KEY から一度だけ読み込みます。

設定

Env var説明
CORK_API_KEYCork の管理 UI で発行された Bearer API key です。
MCP_TRANSPORTstdio(デフォルト)または http です。
AUTH_MODEenv(デフォルト。上記の変数を読み込みます)または gateway(Conduit ゲートウェイによって挿入される X-Cork-Api-Key ヘッダー経由で、リクエストごとに認証情報を受け取ります)です。
CONDUIT_S2S_SECRET設定されている場合、HTTP トランスポートではすべての /mcp リクエストに有効な X-Gateway-S2S ヘッダー(Conduit サイドカー認証)が必要です。
LOG_LEVELdebug | info(デフォルト)| warn | error です。
リクエストの上限
  • HTTP リクエストボディの上限は 256 KiB(262144 バイト)です。X-Gateway-S2S の確認(およびゲートウェイモードでは X-Cork-Api-Key の有無の確認。どちらも失敗時は 401)を通過した後、Content-Length が上限を超えている場合は JSON-RPC エラーとともに 413 を返します。Content-Length のないボディは MCP SDK トランスポートによって上限が適用されます。認証されていないリクエストには、先に 401 が返されます。
  • tools/call の引数は 10,000 要素(任意の深さにあるすべての配列項目とオブジェクトキーの合計)までに制限されています。上限を超えた入力には isError のツール結果を返し、ディスパッチは行いません。

これらの制限は、CVE-2026-111768 / GHSA-46jr-4wx8-v453(検証中のメモリ枯渇)および GHSA-f897-62hf-6gxq(リクエストボディ/バッチの上限なし)に対処するものです。

ツール

クライアント
  • cork_get_clients - 保証状況、インテグレーションテナント、最近の Cork Cyber Score とともにクライアントを一覧表示します。
  • cork_get_client_devices - 接続されているすべてのインテグレーションで、クライアントについて確認されたデバイスを一覧表示します。
  • cork_get_client_domains - クライアントについて確認されたメールドメインを一覧表示します。
  • cork_get_client_inboxes - クライアントについて確認されたメール受信トレイを一覧表示します。
  • cork_get_client_score_history - クライアントの Cork Cyber Score の全履歴を新しい順に一覧表示します。
リスクとコンプライアンス
  • cork_get_compliance_events - クライアントの資産で検出されたポリシー違反とリスクイベントを一覧表示します。
  • cork_get_compliance_notification_settings - コンプライアンスイベントの通知/アラートルールを一覧表示します。
  • cork_get_compliance_event_types - 説明と修正期間を含む、すべてのコンプライアンスイベントの種類を一覧表示します。
  • cork_get_software_vulnerabilities - CVSS/EPSS/KEV の詳細を含む個々の CVE を一覧表示します。
  • cork_get_software_vulnerability_summary - ソフトウェア製品ごとにグループ化された CVE の集計を取得します。
インテグレーション - 読み取り専用の一部
  • cork_get_available_integrations - Cork に接続できるインテグレーションの種類を一覧表示します。
  • cork_get_connected_integrations - Cork に接続されているインテグレーションを一覧表示します。
  • cork_get_integration_devices - インテグレーションから確認されたデバイスを一覧表示します。
  • cork_get_integration_tenants - インテグレーションから確認された顧客テナントを一覧表示します。
  • cork_get_integration_users - インテグレーションから確認されたユーザーを一覧表示します。
保証
  • cork_get_warranties - 有効なサイバー保証パッケージを一覧表示します。
請求書
  • cork_get_invoices - 請求書を一覧表示します。
  • cork_get_invoice_line_items - 請求書の請求明細項目を一覧表示します。
販売代理店 - 読み取り専用の一部
  • cork_get_partners - この販売代理店が管理するパートナーのサブアカウントを一覧表示します。
Software Installer - 読み取り専用サブセット
  • cork_get_installer_history - 過去のソフトウェアインストールの試行を一覧表示します。
  • cork_get_software_packages - インストール可能なソフトウェアパッケージを一覧表示します。
  • cork_get_installer_setup - ソフトウェアのインストールに必要な一度限りの RMM セットアップ手順を取得します。
Who
  • cork_who_am_i - 認証済みユーザーの情報を取得します。

スコープ

これは意図的に限定された、読み取り専用で認証情報を公開しない v1 サーフェスであり、Cork の31操作(29のドキュメント化されたパス)のうち、正確に23操作に厳密に範囲を限定しています。 保険/リスク/コンプライアンスデータの機密性を考慮し、Conduit ゲートウェイではすべてのツールが isAdmin: true に分類されています。Cork の全 API のおよそ3分の1は書き込み操作またはシークレットを公開する操作です。設計上、見落としではなく、ここではそのいずれも実装していません。

ハード除外(認証情報を公開する操作)—実装しません:

  • GET /integrations/{uuid}/credentials (get-integration-credentials) - インテグレーションに保存された未加工のサードパーティシークレット(credentials: {...})を返します。

ハード除外(一括の未加工データ流出。認証情報と同様、予防的に除外):

  • GET /integrations/{uuid}/raw-data (get-integration-raw-data) - クライアントのインテグレーションから同期された全未加工データをダウンロードするための、署名付き URL(有効期限10分)を返します。認証情報を返すものではありませんが、Cork 自身の仕様で「ディストリビューター権限が必要」とされている、一括データ流出の経路です。配線用 PR で明示的にレビュー対象としてフラグを立てており、黙って含めることはしていません。

ハード除外(プロビジョニング/変更)—実装しません:

  • POST /distributor/partners (provision-partner) - 新しい Partner アカウントをプロビジョニングします。
  • POST /integrations (connect-integration) - 新しいインテグレーションを接続し、直ちにデータの同期を開始します。
  • PATCH /integrations/{uuid} (update-integration) - インテグレーションの名前および/または認証情報を更新します。
  • DELETE /integrations/{uuid} (delete-integration) - インテグレーションを削除します。
  • POST /integrations/{uuid}/resync (resync-integration) - データの更新を手動で開始します。
  • POST /software/installer/install (install-software) - クライアントの RMM を通じて、実際の管理対象エンドポイントにソフトウェアのインストールを実行します。実際にリモートでソフトウェアをプロビジョニングする操作です。

需要があれば、スコープを慎重に決定したうえで、後続対応として追加できます。デフォルトで追加することはありません。

認証情報のスコープ

このコネクター自体のコードは、設計上読み取り専用です。ただし、基盤となる API キーはそうではありません。 Cork の公式ドキュメントによると、API キーの権限はキーを作成したユーザーに紐付けられています。読み取り専用またはスコープを制限したキーの種類は記載されていません。確度の異なる、個別の2つの主張を示します。

  • 構造的に検証済み(直接確認済み。確信度を最大として明記): このコネクター自体のコードは、書き込み/削除/再同期/プロビジョニングの呼び出しを一切行わず、認証情報または未加工データのエンドポイントも呼び出しません。client.ts のすべての関数は、上記で説明した23の読み取り操作のいずれかを呼び出します。src/ 内にワイルドカードやパススルーの呼び出しはありません。
  • ベンダーのドキュメントに記載あり、独自検証は未実施(意図的に控えめな表現): Cork の公式ドキュメントには、より限定された API キーや読み取り専用 API キーの種類は記載されていません。フルアクセス権を持つ Cork ユーザーが生成したキーは、このコネクターが除外している書き込み/削除/認証情報/未加工データの操作に、おそらくアクセスできます。ただし、実際のキーでのテストは行っておらず、WYRE も認証情報のレベルでこれ以上制限する方法をベンダーが提供していることを確認できていません。

このコネクターまたはこの README を、基盤となる API キー自体に制限が設定されていると証明したものとして受け取らないでください。 ここで確認しているのは、このコネクター自体のコードが23の読み取り操作を超えることを試みないという点だけです。

開発

npm install
npm run build
npm test
npm run lint   # tsc --noEmit

Docker

docker build -t cork-mcp .
docker run -p 8080:8080 -e CORK_API_KEY=... cork-mcp

コメント

MCP は初めてですか?

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

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