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.
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 14 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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.
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
claude mcp add wyre-ai-superops-mcp -- docker run --rm -i ghcr.io/wyre-ai/superops-mcp:v2.0.1
{
"mcpServers": {
"wyre-ai-superops-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/wyre-ai/superops-mcp:v2.0.1"
]
}
}
} {
"servers": {
"wyre-ai-superops-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/wyre-ai/superops-mcp:v2.0.1"
]
}
}
} codex mcp add wyre-ai-superops-mcp -- docker run --rm -i ghcr.io/wyre-ai/superops-mcp:v2.0.1
{
"$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
}
}
} mcp_servers:
wyre-ai-superops-mcp:
command: "docker"
args: ["run", "--rm", "-i", "ghcr.io/wyre-ai/superops-mcp:v2.0.1"] {
"McpServers": {
"wyre-ai-superops-mcp": {
"Transport": "stdio",
"Command": "docker",
"Arguments": [
"run",
"--rm",
"-i",
"ghcr.io/wyre-ai/superops-mcp:v2.0.1"
]
}
}
} {
"mcpServers": {
"wyre-ai-superops-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/wyre-ai/superops-mcp:v2.0.1"
]
}
}
} 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.
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 →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| clientId | string | – | Filter by client account ID — the `accountId` inside an asset's `client` object, as returned by superops_clients_list. |
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| platform | string | – | 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… |
| status | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | The unique asset ID |
| installationStatus | string | – | 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… |
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| severity | array | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| assetId | string | yes | The unique asset ID |
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| search | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| stage | string | – | Filter by stage: Active, Inactive, or Prospect. Combined with status if both are given. Your tenant may rename or extend this list. |
| status | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| query | string | yes | Substring 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.
| Name | Type | Req | Description |
|---|---|---|---|
| mutation | string | yes | The GraphQL mutation string |
| variables | object | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | The GraphQL query string |
| variables | object | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| technicianId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| search | string | – | 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).
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Note content |
| isPublic | boolean | – | Whether the note is visible to the client — maps to SuperOps' PUBLIC/PRIVATE note privacy (default: false, i.e. PRIVATE) |
| ticketId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | Service category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list. |
| clientId | string | yes | Client account ID |
| description | string | – | Detailed description of the issue |
| impact | string | – | Ticket impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list. |
| priority | string | – | Ticket priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list. |
| requestType | string | – | Request type, e.g. Incident or Service Request |
| requesterId | string | – | User ID of the client user reporting the issue |
| siteId | string | – | Client site ID |
| source | string | – | How the ticket originated (default: INTEGRATION) |
| status | string | – | 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. |
| subcategory | string | – | Service subcategory name; must be one of the subcategories defined under the chosen category. |
| subject | string | yes | Ticket subject/title |
| techGroupId | string | – | Group ID of the technician group to assign |
| technicianId | string | – | User ID of the technician to assign |
| urgency | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| ticketId | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| clientId | string | – | Filter by client account ID |
| page | number | – | Page number, 1-based (default: 1, max: 2147483647) |
| pageSize | number | – | Results per page (default: 50, max: 100) |
| priority | array | – | Filter by priority(ies). SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list. |
| status | array | – | 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. |
| technicianId | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| afterHours | boolean | – | Whether the work was performed after hours (default: false) |
| billDateTime | string | – | When the work was performed, ISO 8601 (default: now) |
| billable | boolean | – | Whether the time is billable (default: true) |
| notes | string | – | Description of work performed |
| qty | string | yes | Quantity of work in the service item's unit, typically hours, e.g. "1.5" |
| serviceItemId | string | – | Service catalog item ID to bill the work against |
| technicianId | string | – | User ID of the technician who performed the work (defaults to the API token's user) |
| ticketId | string | yes | The ticket ID to log the work against |
| unitPrice | string | – | 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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | New service category name. SuperOps ships with: Database, Hardware, Help, Network, Software. Your tenant may rename or extend this list. |
| impact | string | – | New impact. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list. |
| priority | string | – | New priority. SuperOps ships with: Critical, High, Medium, Low, Very Low. Your tenant may rename or extend this list. |
| requestType | string | – | New request type, e.g. Incident or Service Request |
| resolutionCode | string | – | Resolution code, for resolving/closing tickets. SuperOps ships with: Permanent Fix, Workaround, Resolved by Requester, Exception. Your tenant may rename or extend this list. |
| status | string | – | New status. SuperOps ships with: Open, On Hold, Resolved, Closed, Waiting on third party. Your tenant may rename or extend this list. |
| subcategory | string | – | New service subcategory name; must be one of the subcategories defined under the chosen category. |
| subject | string | – | New subject/title |
| techGroupId | string | – | Group ID of the technician group to assign |
| technicianId | string | – | User ID of the technician to assign |
| ticketId | string | yes | The ticket ID to update |
| urgency | string | – | New urgency. SuperOps ships with: High, Medium, Low. Your tenant may rename or extend this list. |
No output schema declared.
No examples provided.
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.