Sherweb

io.github.WYRE-AI由 GitHub 帳號 WYRE-AI 發布v2.0.2更新於 Oct 24, 2026

MCP server for Sherweb — billing, subscriptions, customers, and product catalog.

發布方自己的服務:Sherweb Platform MCP Server

已驗證STDIO僅桌面金融商業與電商

概覽

AI 產生的概覽

針對 Sherweb 的 MCP 伺服器,讓助理瀏覽客戶產品目錄、查詢客戶與訂閱、提交訂閱數量變更並檢視帳單費用。

可以做什麼
依帳期讀取經銷商應付費用,並查看單筆費用明細,帳期可用選填日期指定。瀏覽指定客戶可銷售的產品;Sherweb 目錄依客戶區分,因此必須提供客戶 ID。列出並查詢客戶,讀取向其開立的應收費用。列出客戶訂閱、查看單一訂閱詳情、提交數量變更,並透過變更狀態工具查詢結果。在支援 MCP Apps 的主機中,訂閱詳情以唯讀互動卡片呈現。
適用情境
適合託管服務供應商與 Sherweb 合作夥伴,希望助理不必開啟合作夥伴入口網站,就能查詢客戶、訂閱、目錄與帳單費用,或提交訂閱數量變更。
執行需求
以 stdio 在本機執行,通常透過 npx 或已發佈的容器映像。需要 Sherweb OAuth 憑證:SHERWEB_CLIENT_ID、SHERWEB_CLIENT_SECRET 與 SHERWEB_SUBSCRIPTION_KEY。HTTP 模式另需 CONDUIT_S2S_SECRET,且每個請求須帶 X-Gateway-S2S 標頭;gateway 驗證模式則改由請求標頭讀取 Sherweb 憑證。需要連線至 Sherweb API 的網路。
安裝前請注意
需要 Sherweb API 金鑰(SHERWEB_CLIENT_SECRET、SHERWEB_SUBSCRIPTION_KEY),HTTP 模式另需 CONDUIT_S2S_SECRET,請勿提交至版本庫或寫入日誌。訂閱數量變更是對真實客戶訂閱的修改且為非同步操作,須透過狀態工具確認結果。Sherweb 租用戶的帳單與客戶資料會傳送給助理。不安全開發模式會關閉服務間驗證,僅限本機開發使用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Sherweb,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Sherweb MCP Server

[License] [Node.js]

A Model Context Protocol (MCP) server for Sherweb cloud marketplace and partner portal. Enables AI assistants to manage customer subscriptions, browse the product catalog, and handle billing operations.

This is a Model Context Protocol (MCP) server that connects Claude (or any MCP-compatible AI) to your Sherweb environment.

Part of the MSP Claude Plugins ecosystem — a growing suite of AI integrations for the MSP stack. Built by MSPs, for MSPs.

Installation

bash
npm install @wyre-ai/sherweb-mcp

Configuration

Copy .env.example and set the variables below.

VariableRequiredDescription
SHERWEB_CLIENT_IDFor stdio and AUTH_MODE=envSherweb API client ID
SHERWEB_CLIENT_SECRETFor stdio and AUTH_MODE=envSherweb API client secret
SHERWEB_SUBSCRIPTION_KEYFor stdio and AUTH_MODE=envSherweb API subscription key
MCP_TRANSPORTNostdio (default) or http
AUTH_MODENogateway (Docker image and Compose default) or env. Gateway mode requires X-Sherweb-Client-ID, X-Sherweb-Client-Secret, and X-Sherweb-Subscription-Key on each /mcp request and never falls back to SHERWEB_*. env uses those variables only after S2S auth succeeds.
CONDUIT_S2S_SECRETYes for HTTPService-to-service secret. The HTTP server logs an error and exits non-zero when this is empty or a known placeholder (changeme, your-s2s-secret, placeholder, secret, and similar copied examples). Compose will not start without it. Never commit a real value. Generate one with openssl rand -hex 32.
MCP_ALLOW_INSECURE_DEVNoSet to 1 only for local development to start HTTP without CONDUIT_S2S_SECRET. The process logs a warning, does not enforce X-Gateway-S2S, and binds 127.0.0.1 only. A non-loopback MCP_HTTP_HOST (including 0.0.0.0) is ignored and the override is logged. A placeholder secret is still refused.
MCP_HTTP_HOSTNoBind address when MCP_TRANSPORT=http and CONDUIT_S2S_SECRET is set. Defaults to 127.0.0.1. The container image sets 0.0.0.0. Without a real secret the listener is 127.0.0.1.
MCP_HTTP_PORTNoHTTP port. Defaults to 8080.

/health and /healthz stay unauthenticated and do not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.

HTTP authentication

With MCP_TRANSPORT=http and CONDUIT_S2S_SECRET set, every /mcp request must include X-Gateway-S2S. A missing or invalid header returns 401, before vendor credentials are read. The secret is never written to logs.

The header value is t=<unix seconds>,v1=<hex hmac-sha256>. v1 is HMAC-SHA256 over the exact ASCII string t=<unix seconds>, keyed with CONDUIT_S2S_SECRET, hex-encoded (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock.

t=1710000000,v1=<hmac-sha256("t=1710000000", CONDUIT_S2S_SECRET) as hex>

In AUTH_MODE=gateway, /mcp also requires X-Sherweb-Client-ID, X-Sherweb-Client-Secret, and X-Sherweb-Subscription-Key. Those headers are the only credential source for that request. A request missing any of them returns 401 and does not fall back to SHERWEB_* in the process environment.

Usage

Running with Claude Desktop

Add to your Claude Desktop claude_desktop_config.json:

json
{  "mcpServers": {    "sherweb-mcp": {      "command": "npx",      "args": ["@wyre-ai/sherweb-mcp"],      "env": {        "SHERWEB_CLIENT_ID": "your-sherweb-client-id",        "SHERWEB_CLIENT_SECRET": "your-sherweb-client-secret",        "SHERWEB_SUBSCRIPTION_KEY": "your-sherweb-subscription-key"      }    }  }}

Running with Claude Code (CLI)

bash
claude mcp add sherweb-mcp \  -e SHERWEB_CLIENT_ID=your-value \  -e SHERWEB_CLIENT_SECRET=your-value \  -e SHERWEB_SUBSCRIPTION_KEY=your-value \  -- npx -y @wyre-ai/sherweb-mcp

Docker

The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST) and defaults to AUTH_MODE=gateway. Publish the port on loopback and pass the S2S secret. In gateway mode, Sherweb credentials arrive on each request as headers; they are not read from the environment.

bash
docker build -t sherweb-mcp .docker run \  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \  -p 127.0.0.1:8080:8080 \  sherweb-mcp

Compose refuses to start when CONDUIT_S2S_SECRET is unset, sets AUTH_MODE=gateway, publishes 127.0.0.1:8080:8080, and does not pass SHERWEB_CLIENT_ID, SHERWEB_CLIENT_SECRET, or SHERWEB_SUBSCRIPTION_KEY into the container:

bash
CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" docker compose up

Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses SHERWEB_*:

bash
docker run \  -e CONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" \  -e AUTH_MODE=env \  -e SHERWEB_CLIENT_ID=your-value \  -e SHERWEB_CLIENT_SECRET=your-value \  -e SHERWEB_SUBSCRIPTION_KEY=your-value \  -p 127.0.0.1:8080:8080 \  sherweb-mcp

Local HTTP without a secret is development-only. It binds 127.0.0.1 only (a wider MCP_HTTP_HOST is ignored) and logs a warning:

bash
MCP_TRANSPORT=http MCP_ALLOW_INSECURE_DEV=1 npm start

Available Domains

Billing

Distributor payable charges for a billing period, and detail for an individual charge. Sherweb returns charges only as a per-period collection, so both tools take an optional date identifying the period.

Catalog

Browse the products a given customer can be sold. Catalogs are per-customer in Sherweb — there is no global product list — so customerId is required.

Customers

List and look up customers, and read the receivable charges you bill them for a billing period.

Subscriptions

List a customer's subscriptions, get one subscription's details, and submit quantity amendments. Amendments are asynchronous: submitting returns a tracking ID, and sherweb_subscriptions_amendment_status reports the outcome.

Interactive Subscription Card (MCP Apps)

sherweb_subscriptions_get renders as an interactive, read-only card in MCP Apps hosts (Claude Desktop/web) showing the product, customer, status, quantity, billing cycle, commitment/renewal dates, and fees; plain-JSON behavior is unchanged in other hosts. The card is neutral by default and brandable via window.__BRAND__ injection or MCP_BRAND_* env vars (MCP_BRAND_NAME, MCP_BRAND_LOGO_URL, MCP_BRAND_PRIMARY_COLOR, MCP_BRAND_ACCENT_COLOR, MCP_BRAND_BG, MCP_BRAND_TEXT) — no rebuild needed.

Development

bash
# Clone the repositorygit clone https://github.com/WYRE-AI/sherweb-mcp.gitcd sherweb-mcp
# Install dependenciesnpm install
# Buildnpm run build
# Run testsnpm test
# HTTP transport refuses to start until CONDUIT_S2S_SECRET is setCONDUIT_S2S_SECRET="$CONDUIT_S2S_SECRET" MCP_TRANSPORT=http npm start
# Local HTTP only, without a service-to-service secret (always binds 127.0.0.1)MCP_ALLOW_INSECURE_DEV=1 MCP_TRANSPORT=http npm start

Contributing

Contributions are welcome! Please see CONTRIBUTING.md if present, or open an issue to discuss changes.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

來源:README.md,提交 475bdc2

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v2.0.2最新Oct 14, 2026
  2. v2.0.1Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Sherweb 整合