Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

SuperOps

OCI · GHCR.IO/WYRE-AI/SUPEROPS-MCP:V2.0.1 · SCANNED SEP 20

MCP server for SuperOps unified PSA+RMM — clients, tickets, assets, and more.

+3 this week 49 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security0
  • Malware scan not yet available for this package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.Unverified
Provenance & Transparency45
Schema Quality & AI Usability83
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3206 tokens (~139/item across 23 items; 22 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management50
  • Stability observed for 15 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 22 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 23 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

How do I install the SuperOps MCP server?

SuperOps runs locally as a container image, launched with docker run --rm -i ghcr.io/wyre-ai/superops-mcp:v2.0.1. Ready-made configuration for Claude, Cursor, VS Code, Codex and 3 more is on this page, copied from each client's own documentation.

oci · ghcr.io/wyre-ai/superops-mcp:v2.0.1

# add to Claude Code
claude mcp add wyre-ai-superops-mcp -- docker run --rm -i ghcr.io/wyre-ai/superops-mcp:v2.0.1
// .cursor/mcp.json
{
  "mcpServers": {
    "wyre-ai-superops-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-ai/superops-mcp:v2.0.1"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "wyre-ai-superops-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-ai/superops-mcp:v2.0.1"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add wyre-ai-superops-mcp -- docker run --rm -i ghcr.io/wyre-ai/superops-mcp:v2.0.1
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "wyre-ai-superops-mcp": {
      "type": "local",
      "command": [
        "docker",
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-ai/superops-mcp:v2.0.1"
      ],
      "enabled": true
    }
  }
}
# ~/.hermes/config.yaml
mcp_servers:
  wyre-ai-superops-mcp:
    command: "docker"
    args: ["run", "--rm", "-i", "ghcr.io/wyre-ai/superops-mcp:v2.0.1"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "wyre-ai-superops-mcp": {
      "Transport": "stdio",
      "Command": "docker",
      "Arguments": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-ai/superops-mcp:v2.0.1"
      ]
    }
  }
}
// mcp.json
{
  "mcpServers": {
    "wyre-ai-superops-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "ghcr.io/wyre-ai/superops-mcp:v2.0.1"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

  • 15 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 +4
    • Stability: unverified → 0.27 functional
  • 5 Sept 26 42

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed oci/ghcr.io/wyre-ai/superops-mcp:v2.0.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem oci
Reason No attestation published

Background: How many MCP packages publish verified provenance →

MCP tools · 22 exposed · ~3,188 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
superops_assets_get ~97

Get detailed information for a specific asset: hardware identity (manufacturer, model, serial number), platform and OS version, network details (public IP, primary MAC, gateway, domain), agent version and patch status. SuperOps does not expose CPU, memory or disk figures on the asset record — use superops_custom_query with getAssetSummary or getAssetDiskDetails for those.

NameTypeReqDescription
assetIdstringyesThe unique asset ID

No output schema declared.

No examples provided.

superops_assets_list ~269

List assets (endpoints) in SuperOps.ai RMM. Supply any combination of status, platform and clientId; several filters are combined with AND. listInfo.hasMore is true when a further page exists and null (never false) when it does not, so treat null as the end or page against totalCount.

NameTypeReqDescription
clientIdstringFilter by client account ID — the `accountId` inside an asset's `client` object, as returned by superops_clients_list.
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
platformstringSubstring of the platform string, matched case-insensitively. SuperOps stores a full OS name ("Microsoft Windows 10 Pro", "darwin"), so pass a fragment such as "Windows" or "darwin" rather than a who…
statusstringFilter by asset status, matched whole and case-insensitively. Observed values are "ONLINE" and "OFFLINE"; SuperOps validates the value at runtime, so a status this tenant uses but the list omits stil…

No output schema declared.

No examples provided.

superops_assets_patches ~247

Get patch status and patch details for a specific asset: title, KB numbers, category, severity, approval status and installation status. installationStatus and severity may be combined; they are joined with AND. For a one-word roll-up of the asset's overall patch health instead of the per-patch list, use superops_custom_query with getAssetPatchStatus.

NameTypeReqDescription
assetIdstringyesThe unique asset ID
installationStatusstringFilter by patch installation status, matched whole and case-insensitively. Observed values are "Installed" and "NewOrMissing" — note this is the install state, not the separate `approvalStatus` (Appr…
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
severityarrayFilter by one or more patch severities, each matched whole and case-insensitively. Observed values are "Others" and "Recommended"; SuperOps validates them at runtime, so other severities may exist.

No output schema declared.

No examples provided.

superops_assets_software ~121

Get the software inventory for a specific asset: name, version, install date, bit version and install path.

NameTypeReqDescription
assetIdstringyesThe unique asset ID
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
searchstringSubstring of the software name, matched case-insensitively. Matches the name only, not the manufacturer.

No output schema declared.

No examples provided.

superops_clients_get ~37

Get detailed information for a specific client by their account ID.

NameTypeReqDescription
accountIdstringyesThe unique account ID of the client

No output schema declared.

No examples provided.

superops_clients_list ~195

List clients (accounts) in SuperOps.ai. Results are paginated with page/pageSize. Supplying both stage and status narrows to clients matching both.

NameTypeReqDescription
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
stagestringFilter by stage: Active, Inactive, or Prospect. Combined with status if both are given. Your tenant may rename or extend this list.
statusstringFilter by status. Status is a sub-state of stage: Paid and Unpaid belong to stage Active; New, Negotiation, Won and Lost belong to stage Prospect. Stage Inactive has no statuses. Pairing a status wit…

No output schema declared.

No examples provided.

superops_clients_search ~109

Search for clients by name or email domain. A client matches if the term appears in either, so searching a domain fragment finds the account that owns it.

NameTypeReqDescription
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
querystringyesSubstring to match against the client name or any of its email domains

No output schema declared.

No examples provided.

superops_custom_mutation ~59

Run a custom GraphQL mutation against the SuperOps.ai API. For advanced write operations not covered by standard tools.

NameTypeReqDescription
mutationstringyesThe GraphQL mutation string
variablesobjectVariables to pass to the mutation

No output schema declared.

No examples provided.

superops_custom_query ~58

Run a custom GraphQL query against the SuperOps.ai API. For advanced use cases not covered by standard tools.

NameTypeReqDescription
querystringyesThe GraphQL query string
variablesobjectVariables to pass to the query

No output schema declared.

No examples provided.

superops_navigate ~141

Discover available SuperOps.ai tools by domain. Returns tool names and descriptions for the selected domain. All tools are callable at any time — this is a help/discovery aid, not a prerequisite.

NameTypeReqDescription
domainstringyesThe domain to explore: - clients: Client/company management - list, get, search accounts and company information - tickets: Ticket management - list, get, create tickets and manage support workflow -…

No output schema declared.

No examples provided.

superops_status ~16

Show credentials status and available domains

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

superops_technicians_get ~118

Get detailed information for a specific technician by their user ID. SuperOps has no single-technician endpoint, so this filters the technician list to that ID. Returns the technician's contact details plus their role as {roleId, name} and their group roster as an array of {groupId, name}; designation, businessFunction, team and reportingManager are null unless the tenant assigns them. Skills, ticket counts and response-time metrics are not available from SuperOps.

NameTypeReqDescription
technicianIdstringyesThe unique technician user ID

No output schema declared.

No examples provided.

superops_technicians_groups ~83

List technician groups/teams in SuperOps.ai. Returns every group's ID and name — SuperOps exposes no description, member count or member roster for a group, and the endpoint is neither paginated nor filterable. These are the same groups that appear in a technician's groups field, so a group ID from here identifies the group a technician belongs to.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

superops_technicians_list ~215

List technicians (agents) in SuperOps.ai, sorted by name. Optionally narrow the list with a search term, matched as a substring against both name and email. SuperOps does not expose an active/inactive flag, ticket counts or last-login times for technicians. Each technician's role comes back as {roleId, name} and their groups as an array of {groupId, name}; designation, businessFunction, team and reportingManager are null unless the tenant assigns them. listInfo.hasMore is true when a further page exists and null when it is not — it is never false, so page against totalCount. Use superops_custom_query for filters beyond a name search.

NameTypeReqDescription
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
searchstringSubstring matched against the technician's name or email address

No output schema declared.

No examples provided.

superops_technicians_lookups ~118

List the roles, teams, designations, business functions and technician groups defined in this SuperOps tenant, each as {id, name}. These are the values a technician's role, team, designation, businessFunction and groups fields refer to. Use this to turn a name a user gave you ("the Sales team", "Admin role") into the ID SuperOps filters on, then pass that ID to superops_custom_query — getTechnicianList accepts a condition on the role and groups attributes. Takes no arguments.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

superops_test_connection ~22

Test the connection to SuperOps.ai API using configured credentials.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

superops_tickets_add_note ~85

Add a note to a ticket. Can be internal or public (visible to client).

NameTypeReqDescription
contentstringyesNote content
isPublicbooleanWhether the note is visible to the client — maps to SuperOps' PUBLIC/PRIVATE note privacy (default: false, i.e. PRIVATE)
ticketIdstringyesThe ticket ID

No output schema declared.

No examples provided.

superops_tickets_create ~369

Create a new ticket in SuperOps.ai. Status, priority, category and subcategory are free-text strings that must match the values configured in your SuperOps tenant.

NameTypeReqDescription
categorystringService category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list.
clientIdstringyesClient account ID
descriptionstringDetailed description of the issue
impactstringTicket impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.
prioritystringTicket priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
requestTypestringRequest type, e.g. Incident or Service Request
requesterIdstringUser ID of the client user reporting the issue
siteIdstringClient site ID
sourcestringHow the ticket originated (default: INTEGRATION)
statusstringInitial status; defaults to the tenant's default status. SuperOps ships with: Open, On Hold, Resolved, Closed, Waiting on third party. Your tenant may rename or extend this list.
subcategorystringService subcategory name; must be one of the subcategories defined under the chosen category.
subjectstringyesTicket subject/title
techGroupIdstringGroup ID of the technician group to assign
technicianIdstringUser ID of the technician to assign
urgencystringTicket urgency. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.

No output schema declared.

No examples provided.

superops_tickets_get ~34

Get detailed information for a specific ticket by its ID.

NameTypeReqDescription
ticketIdstringyesThe unique ticket ID

No output schema declared.

No examples provided.

superops_tickets_list ~224

List tickets in SuperOps.ai. Results are paginated with page/pageSize. All supplied filters are combined: a ticket must match every one of status, priority, clientId and technicianId that you provide, and within status and priority it may match any of the listed values.

NameTypeReqDescription
clientIdstringFilter by client account ID
pagenumberPage number, 1-based (default: 1, max: 2147483647)
pageSizenumberResults per page (default: 50, max: 100)
priorityarrayFilter by priority(ies). SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
statusarrayFilter by status(es). SuperOps ships with: Open, On Hold, Resolved, Closed, Waiting on third party. Your tenant may rename or extend this list. Values must match it exactly.
technicianIdstringFilter by assigned technician user ID

No output schema declared.

No examples provided.

superops_tickets_log_time ~211

Log a worklog entry against a ticket. SuperOps records quantity (not a raw minute count) against the service item's unit — typically hours.

NameTypeReqDescription
afterHoursbooleanWhether the work was performed after hours (default: false)
billDateTimestringWhen the work was performed, ISO 8601 (default: now)
billablebooleanWhether the time is billable (default: true)
notesstringDescription of work performed
qtystringyesQuantity of work in the service item's unit, typically hours, e.g. "1.5"
serviceItemIdstringService catalog item ID to bill the work against
technicianIdstringUser ID of the technician who performed the work (defaults to the API token's user)
ticketIdstringyesThe ticket ID to log the work against
unitPricestringOverride the service item's unit price

No output schema declared.

No examples provided.

superops_tickets_update ~360

Update an existing ticket - change status, priority, assignment, or category. Free-text resolution notes belong in superops_tickets_add_note; only the tenant's configured resolutionCode can be set here.

NameTypeReqDescription
categorystringNew service category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list.
impactstringNew impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.
prioritystringNew priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
requestTypestringNew request type, e.g. Incident or Service Request
resolutionCodestringResolution code, for resolving/closing tickets. SuperOps ships with: Permanent Fix, Workaround, Resolved by Requester, Exception. Your tenant may rename or extend this list.
statusstringNew status. SuperOps ships with: Open, On Hold, Resolved, Closed, Waiting on third party. Your tenant may rename or extend this list.
subcategorystringNew service subcategory name; must be one of the subcategories defined under the chosen category.
subjectstringNew subject/title
techGroupIdstringGroup ID of the technician group to assign
technicianIdstringUser ID of the technician to assign
ticketIdstringyesThe ticket ID to update
urgencystringNew urgency. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.

No output schema declared.

No examples provided.

Common questions

What is the SuperOps MCP server?

SuperOps is an MCP server listed in the public MCP registry as io.github.WYRE-AI/superops-mcp. MCP server for SuperOps unified PSA+RMM, clients, tickets, assets, and more. This page covers its container image (ghcr.io/wyre-ai/superops-mcp:v2.0.1).

Is the SuperOps MCP server safe to use?

SuperOps scores 49 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the SuperOps MCP server expose?

SuperOps exposes 22 tools: superops_navigate, superops_status, superops_test_connection, superops_clients_list, superops_clients_get, and 17 more. Their descriptions and schemas cost roughly 3,188 tokens of context every time the server is loaded.

Is the SuperOps MCP server still maintained?

SuperOps is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the SuperOps MCP server under?

SuperOps declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.