Connects Claude to SuperOps.ai's unified PSA and RMM platform through their GraphQL API. You get full CRUD operations across clients, tickets, assets, and technicians, plus the ability to run custom GraphQL queries when the built-in tools don't cover your use case. The server uses a navigation pattern where you switch between domains to access relevant tools, with lazy loading to keep startup fast. Handles common MSP workflows like listing filtered tickets, logging time entries, adding notes, checking asset patch status, and pulling software inventory. Requires an API token from your SuperOps profile and supports both US and EU regions.
MCP server for Claude that provides tools to interact with the SuperOps.ai PSA/RMM platform using their GraphQL API.
Operator note — GitHub Packages authentication. This package is published to the
@wyre-technologyscope 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.
# The @wyre-technology scope lives on GitHub Packages and needs a token to install:
export NODE_AUTH_TOKEN=$(gh auth token)
npm install @wyre-technology/superops-mcp
Set the following environment variables:
export SUPEROPS_API_TOKEN="your-api-token"
export SUPEROPS_SUBDOMAIN="yourcompany"
export SUPEROPS_REGION="us" # or "eu" for EU region
Add to your claude_desktop_config.json:
{
"mcpServers": {
"superops": {
"command": "npx",
"args": ["@wyre-technology/superops-mcp"],
"env": {
"SUPEROPS_API_TOKEN": "your-api-token",
"SUPEROPS_SUBDOMAIN": "yourcompany",
"SUPEROPS_REGION": "us"
}
}
}
}
superops_navigate - Navigate to a domainsuperops_back - Return to main menusuperops_test_connection - Test API connectivitysuperops_clients_list - List clients with filterssuperops_clients_get - Get client detailssuperops_clients_search - Search clients by name/domainsuperops_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 ticketsuperops_assets_list - List assets/endpointssuperops_assets_get - Get asset detailssuperops_assets_software - Get software inventorysuperops_assets_patches - Get patch statussuperops_technicians_list - List technicianssuperops_technicians_get - Get technician detailssuperops_technicians_groups - List technician groupssuperops_custom_query - Run custom GraphQL querysuperops_custom_mutation - Run custom GraphQL mutationUser: What tools are available?
Claude: Use superops_navigate to select a domain...
User: Navigate to tickets
Claude: [calls superops_navigate with domain: "tickets"]
Now in tickets domain. Available tools: superops_tickets_list, superops_tickets_get...
User: Show open high priority tickets
Claude: [calls superops_tickets_list with status: ["Open"], priority: ["High"]]
Here are the open high priority tickets...
SuperOps.ai API has a rate limit of 800 requests per minute per API token.
Apache-2.0
For issues and feature requests, please visit the GitHub repository.
SUPEROPS_API_TOKEN*secretSuperOps API token (Bearer) generated in the SuperOps admin console
SUPEROPS_SUBDOMAIN*Your SuperOps account subdomain (e.g. 'acme' for acme.superops.com)
SUPEROPS_REGIONSuperOps data center region (e.g. 'us', 'eu')
MCP_TRANSPORTdefault: stdioTransport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.
AUTH_MODEdefault: envCredential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway.
LOG_LEVELdefault: infoLog verbosity: debug, info, warn, error