Cork

io.github.WYRE-AI由 GitHub 账号 WYRE-AI 发布v1.0.1更新于 Oct 27, 2026

MCP server for Cork's cyber-insurance API for MSPs.

概览

AI 生成的概览

面向 MSP 的 Cork 网络保险 API 只读 MCP 服务器,让助手查询客户、风险与合规、漏洞、保单和发票信息。

可以做什么
  • 列出客户及其保单状态、集成租户和近期 Cork Cyber Score,以及客户的设备、邮箱域名、收件箱和评分历史
  • 查看风险与合规:策略违规与风险事件、通知设置、事件类型,以及含 CVSS/EPSS/KEV 详情的 CVE 或按产品汇总的漏洞
  • 查看集成:可连接与已连接的集成类型,以及从集成中观测到的设备、租户和用户
  • 查询保单、账单发票及其明细行,以及分销商管理的合作伙伴子账户
  • 查看软件安装历史、可安装的软件包和一次性 RMM 安装说明,并识别当前认证用户
适用场景
适合 MSP 或分销商人员让助手在不打开 Cork 管理后台的情况下回答客户覆盖范围、网络安全评分、合规事件、漏洞暴露和账单相关问题。它是只读的报表查询入口,不能用于修改 Cork 中的任何内容。
运行要求
以本地 stdio 进程运行(Docker 镜像 ghcr.io/wyre-ai/cork-mcp,或从源码用 npm 构建)。需要 Cork 管理后台生成的 API 密钥:env 模式下通过 CORK_API_KEY 环境变量提供,gateway 模式下由每个请求的 X-Cork-Api-Key 请求头传入。可选配置包括 AUTH_MODE、MCP_TRANSPORT、LOG_LEVEL,以及用于 HTTP sidecar 鉴权的 CONDUIT_S2S_SECRET。需要能访问 Cork 的 API。
安装前请注意
该 API 密钥是实时 bearer 令牌,拥有创建它的 Cork 用户的全部权限;Cork 未提供只读密钥类型,因此密钥本身很可能也能访问写入、删除和返回凭据的接口,尽管本服务器从不调用它们。请将 CORK_API_KEY 视为敏感机密。返回的数据包括客户设备、域名、收件箱、漏洞和发票,并会发送给助手和模型提供方。仅限桌面本地进程。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Cork,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Cork MCP Server

MCP server for Cork's cyber-insurance API for MSPs - clients and their warranty/coverage status, Cork Cyber Score history, risk & compliance events, software vulnerabilities (CVE/CVSS/EPSS/KEV), connected integrations, invoices, distributor partners, and software-installer metadata - for AI assistants and the WYRE Conduit gateway.

Authentication

Cork authenticates with a static Bearer API key, generated in Cork's Admin UI (Settings -> API). Cork's OpenAPI spec also documents an OAuth2 flow for their own remote MCP server, but the underlying credential is the same API key - this connector never performs an OAuth dance, it only ever holds a live bearer key, sent as Authorization: Bearer <key> to Cork's API. In gateway mode the key arrives per-request via the X-Cork-Api-Key header; in local/stdio mode it's read once from CORK_API_KEY.

Configuration

Env varDescription
CORK_API_KEYBearer API key issued by Cork's Admin UI.
MCP_TRANSPORTstdio (default) or http.
AUTH_MODEenv (default, reads the var above) or gateway (credential arrives per-request via the X-Cork-Api-Key header, injected by the Conduit gateway).
CONDUIT_S2S_SECRETWhen set, the HTTP transport requires a valid X-Gateway-S2S header (Conduit sidecar auth) on every /mcp request.
LOG_LEVELdebug | info (default) | warn | error.

Request limits

  • HTTP request bodies are capped at 256 KiB (262144 bytes). After the X-Gateway-S2S check (and, in gateway mode, the X-Cork-Api-Key presence check, both 401) passes, a Content-Length above the cap returns 413 with a JSON-RPC error; bodies without Content-Length are capped by the MCP SDK transport. Unauthenticated requests still get 401 first.
  • tools/call arguments are capped at 10,000 elements (every array item and object key at any depth). Larger inputs return an isError tool result and are never dispatched.

These limits address CVE-2026-111768 / GHSA-46jr-4wx8-v453 (memory exhaustion during validation) and GHSA-f897-62hf-6gxq (no request body / batch cap).

Tools

Clients

  • cork_get_clients - list clients with warranty status, integration tenants, and recent Cork Cyber Scores.
  • cork_get_client_devices - list devices observed for a client across all connected integrations.
  • cork_get_client_domains - list email domains observed for a client.
  • cork_get_client_inboxes - list email inboxes observed for a client.
  • cork_get_client_score_history - list a client's full Cork Cyber Score history, newest first.

Risk & Compliance

  • cork_get_compliance_events - list policy violations and risk events detected for a client's assets.
  • cork_get_compliance_notification_settings - list notification/alerting rules for compliance events.
  • cork_get_compliance_event_types - list all compliance event types with descriptions and cure periods.
  • cork_get_software_vulnerabilities - list individual CVEs with CVSS/EPSS/KEV details.
  • cork_get_software_vulnerability_summary - get a rollup of CVEs grouped by software product.

Integrations - read-only subset

  • cork_get_available_integrations - list integration types that can be connected to Cork.
  • cork_get_connected_integrations - list integrations connected to Cork.
  • cork_get_integration_devices - list devices observed from an integration.
  • cork_get_integration_tenants - list customer tenants observed from an integration.
  • cork_get_integration_users - list users observed from an integration.

Warranty

  • cork_get_warranties - list active cyber warranty packages.

Invoice

  • cork_get_invoices - list billing invoices.
  • cork_get_invoice_line_items - list billed line items for an invoice.

Distributor - read-only subset

  • cork_get_partners - list partner sub-accounts managed by this distributor.

Software Installer - read-only subset

  • cork_get_installer_history - list past software install attempts.
  • cork_get_software_packages - list software packages available to install.
  • cork_get_installer_setup - get one-time RMM setup instructions for software installs.

Who

  • cork_who_am_i - get information on the authenticated user.

Scope

This is a deliberately narrow, read-only, non-credential-exposing v1 surface, hard-scoped to exactly 23 of Cork's 31 operations (29 documented paths). Every tool is classified isAdmin: true in the Conduit gateway given the sensitivity of insurance/risk/compliance data. Roughly a third of Cork's full API is write- or secret-exposing; none of it is implemented here, by design, not by oversight:

Hard-excluded (credential-exposing) - never implemented:

  • GET /integrations/{uuid}/credentials (get-integration-credentials) - returns the integration's raw stored third-party secrets (credentials: {...}).

Hard-excluded (bulk raw-data exfiltration, excluded out of caution alongside credentials):

  • GET /integrations/{uuid}/raw-data (get-integration-raw-data) - returns a presigned download URL (10-minute expiry) to a client's full raw synced integration data. Not a credential return, but a bulk-data-exfiltration vector gated by "requires distributor privileges" in Cork's own spec. Flagged explicitly for review in the wiring PR rather than silently included.

Hard-excluded (provisioning/mutation) - never implemented:

  • POST /distributor/partners (provision-partner) - provisions a new Partner account.
  • POST /integrations (connect-integration) - connects a new integration and immediately begins syncing data.
  • PATCH /integrations/{uuid} (update-integration) - updates an integration's name and/or credentials.
  • DELETE /integrations/{uuid} (delete-integration) - deletes an integration.
  • POST /integrations/{uuid}/resync (resync-integration) - manually triggers a data refresh.
  • POST /software/installer/install (install-software) - dispatches a real software install to a real managed endpoint through the client's RMM. A genuine remote-software-provisioning action.

They can be added as a follow-up if there's demand, after a deliberate scope decision - not by default.

Credential scope

This connector's own code is read-only by construction — the underlying API key is not. Cork's own documentation states API key permissions are linked to the user who creates them; no read-only or restricted-scope key type is documented. Two separate claims, kept at different confidence levels:

  • Structurally verified (checked directly, stated with full confidence): this connector's own code makes zero write/delete/resync/provisioning calls, and never calls the credentials or raw-data endpoints. Every function in client.ts calls one of the 23 documented read operations above — no wildcard/passthrough call anywhere in src/.
  • Vendor-documented, not independently verified (hedged deliberately): Cork's own docs do not describe any narrower or read-only API key type. A key generated by a full-access Cork user can very likely reach the write/delete/credentials/raw-data operations this connector excludes — this has not been tested against a live key, and WYRE found no vendor-offered way to restrict it further at the credential level.

Do not read this connector, or this README, as having established the underlying API key is itself restricted — only that this connector's own code never attempts anything beyond its 23 read operations.

Development

bash
npm installnpm run buildnpm testnpm run lint   # tsc --noEmit

Docker

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

来源:README.md,提交 3f0372c

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

2
  1. v1.0.1最新Oct 22, 2026
  2. v1.0.0Sep 20, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。