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

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

+34 this week 43 Trust /100

Last scanned (12 hours ago)

Scores higher than 60% of OCI servers

Category CRM and Sales

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
  • No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
  • Known CVEs could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.Unverified
  • Install-script risk not yet assessed.Unverified
  • Dependency health could not be checked: this artifact ships no SBOM or dependency manifest, so there is no dependency list to read.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 Management10
  • Stability observed for 3 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.

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.

  • 17 Oct 26 +1
    • Stability: unverified → 0.07 ▲ functional
  • 15 Oct 26 +33
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: excellent functional
    • First check of Destructive annotations: pass functional
    • First check of Schema quality: fail functional
    • First check of Capabilities: pass functional
    • First check of Tool coverage: 100 functional
  • 14 Oct 26 0
    • Package version: v2.0.3 → v2.0.4 functional
  • 13 Oct 26 0
    • Security disclosure: unverified → fail ▼ functional
  • 12 Oct 26 0
    • Security disclosure: fail → unverified ▼ functional
    • Package version: v2.0.2 → v2.0.3 functional
  • 6 Oct 26 9

    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 18 Oct 2026 · Analysed oci/ghcr.io/wyre-ai/superops-mcp@v2.0.4

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
clientIdstring–Filter by client account ID — the `accountId` inside an asset's `client` object, as returned by superops_clients_list.
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
platformstring–Substring 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…
statusstring–Filter 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
installationStatusstring–Filter 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…
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
severityarray–Filter 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
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
searchstring–Substring 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
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
stagestring–Filter by stage: Active, Inactive, or Prospect. Combined with status if both are given. Your tenant may rename or extend this list.
statusstring–Filter 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
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results 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
variablesobject–Variables 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
variablesobject–Variables 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
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
searchstring–Substring 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
isPublicboolean–Whether 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
categorystring–Service category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list.
clientIdstringyesClient account ID
descriptionstring–Detailed description of the issue
impactstring–Ticket impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.
prioritystring–Ticket priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
requestTypestring–Request type, e.g. Incident or Service Request
requesterIdstring–User ID of the client user reporting the issue
siteIdstring–Client site ID
sourcestring–How the ticket originated (default: INTEGRATION)
statusstring–Initial 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.
subcategorystring–Service subcategory name; must be one of the subcategories defined under the chosen category.
subjectstringyesTicket subject/title
techGroupIdstring–Group ID of the technician group to assign
technicianIdstring–User ID of the technician to assign
urgencystring–Ticket 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
clientIdstring–Filter by client account ID
pagenumber–Page number, 1-based (default: 1, max: 2147483647)
pageSizenumber–Results per page (default: 50, max: 100)
priorityarray–Filter by priority(ies). SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
statusarray–Filter 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.
technicianIdstring–Filter 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
afterHoursboolean–Whether the work was performed after hours (default: false)
billDateTimestring–When the work was performed, ISO 8601 (default: now)
billableboolean–Whether the time is billable (default: true)
notesstring–Description of work performed
qtystringyesQuantity of work in the service item's unit, typically hours, e.g. "1.5"
serviceItemIdstring–Service catalog item ID to bill the work against
technicianIdstring–User ID of the technician who performed the work (defaults to the API token's user)
ticketIdstringyesThe ticket ID to log the work against
unitPricestring–Override 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
categorystring–New service category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list.
impactstring–New impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.
prioritystring–New priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list.
requestTypestring–New request type, e.g. Incident or Service Request
resolutionCodestring–Resolution code, for resolving/closing tickets. SuperOps ships with: Permanent Fix, Workaround, Resolved by Requester, Exception. Your tenant may rename or extend this list.
statusstring–New status. SuperOps ships with: Open, On Hold, Resolved, Closed, Waiting on third party. Your tenant may rename or extend this list.
subcategorystring–New service subcategory name; must be one of the subcategories defined under the chosen category.
subjectstring–New subject/title
techGroupIdstring–Group ID of the technician group to assign
technicianIdstring–User ID of the technician to assign
ticketIdstringyesThe ticket ID to update
urgencystring–New urgency. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list.

No output schema declared.

No examples provided.

Install

How do I install the SuperOps MCP server?

SuperOps runs locally as a container image, launched with docker run --rm -i -e SUPEROPS_API_TOKEN -e SUPEROPS_SUBDOMAIN -e SUPEROPS_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/superops-mcp:v2.0.4. 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

# add to Claude Code
claude mcp add wyre-ai-superops-mcp -- docker run --rm -i -e SUPEROPS_API_TOKEN -e SUPEROPS_SUBDOMAIN -e SUPEROPS_REGION -e MCP_TRANSPORT -e AUTH_MODE -e LOG_LEVEL ghcr.io/wyre-ai/superops-mcp:v2.0.4

This image reads SUPEROPS_API_TOKEN, SUPEROPS_SUBDOMAIN, SUPEROPS_REGION, MCP_TRANSPORT, AUTH_MODE and LOG_LEVEL. Set them in your client's env block for this server; docker run -e passes each one through to the container.

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).

Is the SuperOps MCP server safe to use?

SuperOps scores 43 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 18 October 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.