
SuperOps
io.github.wyre-technology由 GitHub 帳號 wyre-technology 發布v1.6.6更新於 Oct 24, 2026
MCP server for SuperOps unified PSA+RMM — clients, tickets, assets, and more.
概覽
讓助理透過 SuperOps GraphQL API 讀取與修改 SuperOps PSA/RMM 資料,包括客戶、工單、資產與技術人員。
- 可以做什麼
- 透過 SuperOps.ai 的 GraphQL API 將 Claude 連接到該 PSA/RMM 平台。依領域劃分的工具涵蓋客戶(列表、詳情、搜尋)、工單(列表、詳情、建立、更新、新增備註、記錄工時)、資產(列表、詳情、軟體清單、修補狀態)與技術人員(列表、詳情、群組),另有導覽與連線測試工具。通用的自訂查詢與自訂變更工具可執行任意 GraphQL。在 MCP Apps 主機中,工單結果可呈現為互動式卡片,卡片內的新增備註動作一律張貼僅限內部可見的備註。
- 適用情境
- 適合在 SuperOps 中管理客戶、工單、端點與技術人員的託管服務商與 IT 團隊,希望以對話方式查詢或更新這些資料。當工單分流、資產或修補查詢、工時記錄不必開啟 SuperOps 主控台即可完成時,值得加入。
- 執行需求
- 以 stdio 方式在本機執行(已發布 OCI 映像;README 也提供 npm 安裝方式)。需要 SUPEROPS_API_TOKEN(在 SuperOps 管理主控台產生)與 SUPEROPS_SUBDOMAIN;SUPEROPS_REGION 用來選擇資料中心。AUTH_MODE、LOG_LEVEL 與 MCP_TRANSPORT 為選用項目。從 GitHub Packages 安裝此套件需要具備 read:packages 權限的 GitHub 個人存取權杖,以 NODE_AUTH_TOKEN 或 GITHUB_TOKEN 提供。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 SuperOps,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
SuperOps.ai MCP Server
MCP server for Claude that provides tools to interact with the SuperOps.ai PSA/RMM platform using their GraphQL API.
One-Click Deployment
[Deploy to Cloudflare Workers]
Operator note — GitHub Packages authentication. This package is published to the
@wyre-aiscope on GitHub Packages, which requires an authentication token on every install (GitHub Packages has no anonymous reads, even for public packages). Create a GitHub Personal Access Token with theread:packagesscope and supply it to the cloud builder:
- Cloudflare Workers — set a build variable named
NODE_AUTH_TOKENto your PAT.- DigitalOcean App Platform — set a build-time secret named
GITHUB_TOKENto your PAT.For local installs, run
export NODE_AUTH_TOKEN=$(gh auth token)beforenpm install.
Features
- Decision Tree Architecture: Navigate to domains (clients, tickets, assets, technicians) to see relevant tools
- Lazy Loading: Domain modules load on-demand for faster startup
- Full CRUD Operations: List, get, create, and update entities
- GraphQL Support: Use custom queries for advanced operations
- Interactive Ticket Card (MCP Apps): ticket results render as an interactive card in MCP Apps hosts — neutral by default, brandable via
window.__BRAND__injection orMCP_BRAND_*env vars
Interactive Ticket Card (MCP Apps)
superops_tickets_get renders as an interactive card in MCP Apps hosts
(Claude Desktop/web) with an in-card "Add note" round-trip via
superops_tickets_add_note that always posts internal-only notes
(isPublic: false); 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.
Installation
Configuration
Copy .env.example and set the variables below. Leave CONDUIT_S2S_SECRET empty in that example; generate a real value with openssl rand -hex 32 and do not commit it.
/health stays unauthenticated and does not read credentials. The stdio transport does not use CONDUIT_S2S_SECRET.
HTTP authentication
With MCP_TRANSPORT=http, every /mcp request must include X-Gateway-S2S once CONDUIT_S2S_SECRET is set. The header value is t=<unix seconds>,v1=<hex>, where the hex is HMAC-SHA256 of the literal string t=<unix seconds> keyed with CONDUIT_S2S_SECRET (64 lowercase hex characters). The timestamp must be within 300 seconds of the server clock. A missing or invalid header is HTTP 401, before vendor credentials are read.
In AUTH_MODE=gateway, add X-SuperOps-API-Token and X-SuperOps-Subdomain as well. Missing credential headers are HTTP 401 and do not fall back to SUPEROPS_* in the environment. With AUTH_MODE=env, the signed request uses those variables from the process environment.
Standalone local use that cannot sign requests:
Startup logs a warning, skips the S2S check, and binds 127.0.0.1 only. Do not publish that port off loopback.
Getting Your API Token
- Log in to SuperOps.ai
- Click settings icon > "My Profile"
- Navigate to "API token" tab
- Click "Generate token"
- Copy and securely store the token
Usage with Claude Desktop
Add to your claude_desktop_config.json:
Available Domains & Tools
Navigation
superops_navigate- Navigate to a domainsuperops_back- Return to main menusuperops_test_connection- Test API connectivity
Clients Domain
superops_clients_list- List clients with filterssuperops_clients_get- Get client detailssuperops_clients_search- Search clients by name
Tickets Domain
superops_tickets_list- List tickets with filterssuperops_tickets_get- Get ticket detailssuperops_tickets_create- Create a new ticketsuperops_tickets_update- Update ticket status/assignmentsuperops_tickets_add_note- Add note to ticketsuperops_tickets_log_time- Log time on ticket
Assets Domain
superops_assets_list- List assets/endpointssuperops_assets_get- Get asset detailssuperops_assets_software- Get software inventorysuperops_assets_patches- Get patch status
Technicians Domain
superops_technicians_list- List technicianssuperops_technicians_get- Get technician detailssuperops_technicians_groups- List technician groups
Custom Domain
superops_custom_query- Run custom GraphQL querysuperops_custom_mutation- Run custom GraphQL mutation
Example Usage
Docker
The image listens on 0.0.0.0 inside the container (MCP_HTTP_HOST), defaults to AUTH_MODE=gateway, and refuses to start unless CONDUIT_S2S_SECRET is a real secret. Publish the port on loopback. In gateway mode, SuperOps credentials arrive on each request as headers; they are not read from the environment.
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 SUPEROPS_API_TOKEN or SUPEROPS_SUBDOMAIN into the container:
Sign /mcp the same way as in HTTP authentication. A gateway-mode call also sends the vendor headers:
Single-tenant HTTP (AUTH_MODE=env) still requires the S2S secret, then uses SUPEROPS_API_TOKEN and SUPEROPS_SUBDOMAIN. The DigitalOcean one-click template is that mode: set CONDUIT_S2S_SECRET as a runtime secret.
Rate Limits
SuperOps.ai API has a rate limit of 800 requests per minute per API token.
Pagination
SuperOps uses page-based pagination, not cursors. List tools take page
(1-indexed, default 1) and pageSize (default 50, max 100), and return a
listInfo block with page, pageSize, totalCount and hasMore.
hasMore is tri-state: true when another page exists, null — never
false — when it does not. Loop on hasMore === true, or page off
totalCount; looping until hasMore === false never terminates.
Filtering
Filters are condition clauses of { attribute, operator, value }, and they
compose — { joinOperator: "and" | "or", operands: [ … ] } nests recursively.
Operators verified against a live tenant:
equals and in are rejected by the API. includes matches a value whole
while contains matches a substring — filtering an OS platform with
includes: ["Windows"] matches nothing, because SuperOps stores
"Microsoft Windows 10 Pro".
Two things to know, because neither reports an error:
- Filtering on a value outside a field's real set returns zero rows, not an error. An empty result may mean a bad value, not an empty tenant.
- Filtering on a JSON column (
software) rather than a path into it (software.name) also returns zero rows silently.
Use superops_custom_query for filter semantics the standard tools don't
express.
Schema conformance
schema/superops.graphql is a vendored copy of the SuperOps GraphQL schema:
Prefer introspection, and note the committed schema is already the introspected
one. The published docs declare 276 types / 76 queries / 63 mutations where the
live API reports 404 / 116 / 83, omit deprecations entirely, and declare two
types that do not exist live (FieldType, TicketType) — validating against
those would pass documents the API rejects.
src/domains/graphql-schema.test.ts validates every GraphQL document in src/
against it on each npm test, so a query referencing a field SuperOps does not
define fails in CI rather than at runtime. Regenerate the schema after a
SuperOps API change and re-run the tests.
License
Apache-2.0
Support
For issues and feature requests, please visit the GitHub repository.
來源:README.md,提交 4ccfc5d
工具
0版本歷史
1- v1.6.6最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分