Sborgi/superops-mcp-server
If you are the rightful owner of superops-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The SuperOps MCP Server is a Model Context Protocol server designed to integrate AI assistants like Claude with the SuperOps.ai MSP platform, leveraging TypeScript for enhanced type safety and developer experience.
SuperOps MCP Server 🚀
A Model Context Protocol (MCP) server that connects AI assistants like Claude to SuperOps.ai's MSP platform. Built with TypeScript for type safety and developer experience.
🎯 Features
- 🎫 Ticket Management: Query, create, and update support tickets
- 👥 Client Operations: Access and manage client information
- 🔧 Asset Tracking: View and query IT assets
- 📊 GraphQL Integration: Full SuperOps.ai API access
- 🔒 Type Safe: Built with TypeScript for reliability
- ⚡ Fast: Optimized for performance with connection pooling
📋 Prerequisites
- Node.js 18 or higher
- SuperOps.ai account with API access
- Claude Desktop or another MCP-compatible client
🚀 Quick Start
Option 1: Use via GitMCP (Easiest)
Add this to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"superops": {
"command": "npx",
"args": [
"-y",
"@gitmcp/runtime",
"https://github.com/YOUR_USERNAME/superops-mcp-server"
],
"env": {
"SUPEROPS_API_TOKEN": "your_token_here",
"SUPEROPS_SUBDOMAIN": "your_subdomain",
"SUPEROPS_DATACENTER": "US"
}
}
}
}
Option 2: Local Development
-
Clone the repository
git clone https://github.com/YOUR_USERNAME/superops-mcp-server.git cd superops-mcp-server -
Install dependencies
npm install -
Configure environment
cp .env.example .env # Edit .env with your SuperOps credentials -
Build the server
npm run build -
Configure Claude Desktop
{ "mcpServers": { "superops": { "command": "node", "args": ["/absolute/path/to/superops-mcp-server/build/index.js"], "env": { "SUPEROPS_API_TOKEN": "your_token", "SUPEROPS_SUBDOMAIN": "your_subdomain", "SUPEROPS_DATACENTER": "US" } } } } -
Restart Claude Desktop
🔑 Getting SuperOps Credentials
API Token
- Log into your SuperOps.ai account
- Navigate to Settings → My Profile → API Token
- Click Generate Token
- Copy the generated token
Subdomain
- Go to Settings → MSP Information
- Find your Customer Subdomain
- Copy this value
Datacenter (Optional)
Choose based on your account location:
US: https://api.superops.ai (default)EU: https://eu-api.superops.aiIN: https://in-api.superops.ai
🛠️ Available Tools
get_tickets
Retrieve tickets with optional filtering
Parameters:
status(optional): Filter by status (e.g., "open", "closed")priority(optional): Filter by priority (e.g., "high", "urgent")page(optional): Page number for paginationpageSize(optional): Items per page (max 100)
Example Usage in Claude:
Show me all high-priority open tickets
get_clients
List all clients with pagination
Parameters:
page(optional): Page numberpageSize(optional): Items per page
Example Usage:
List all our clients
get_assets
Query IT assets with filters
Parameters:
clientId(optional): Filter by clientassetType(optional): Filter by type (e.g., "desktop", "laptop")page(optional): Page numberpageSize(optional): Items per page
Example Usage:
Show me all laptops for client X
create_ticket
Create a new support ticket
Parameters:
clientId(required): Client account IDsubject(required): Ticket subjectdescription(required): Detailed descriptionpriority(optional): Priority levelassignedToId(optional): User ID to assign
Example Usage:
Create a ticket for client ABC123 with subject "Email issues" and high priority
update_ticket
Update an existing ticket
Parameters:
ticketId(required): Ticket ID to updatestatus(optional): New statuspriority(optional): New priorityassignedToId(optional): New assignee
Example Usage:
Update ticket T-12345 status to closed
📁 Project Structure
superops-mcp-server/
├── src/
│ ├── index.ts # Main MCP server
│ ├── api/
│ │ └── superops.ts # SuperOps API client
│ └── types/
│ └── index.ts # TypeScript types
├── build/ # Compiled JavaScript
├── .env.example # Environment template
├── .gitignore
├── package.json
├── tsconfig.json
├── README.md
└── LICENSE
🔧 Development
Run in Development Mode
npm run dev
Build for Production
npm run build
Watch Mode
npm run watch
🐛 Troubleshooting
Server Not Showing in Claude
- Check config path: Ensure Claude Desktop config is in the correct location
- Verify build: Run
npm run buildto ensure compilation succeeded - Check logs: Look at Claude Desktop logs for errors
- Restart Claude: Completely quit and restart Claude Desktop
API Authentication Errors
- Verify token: Check your API token is correct in .env
- Check subdomain: Ensure subdomain matches your account
- Test datacenter: Try different datacenter URLs if needed
Connection Issues
# Test SuperOps API directly
curl -X POST https://api.superops.ai/graphql \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "CustomerSubDomain: YOUR_SUBDOMAIN" \
-H "Content-Type: application/json" \
-d '{"query": "{ getClientList { items { name } } }"}'
📝 API Rate Limits
SuperOps.ai allows 800 requests per minute. The server handles this automatically, but keep in mind:
- Batch requests when possible
- Use pagination for large datasets
- Cache frequently accessed data
🤝 Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the file for details.
🙏 Acknowledgments
- Built with Anthropic's Model Context Protocol
- Powered by SuperOps.ai GraphQL API
- Inspired by the MSP community
📧 Support
- Issues: GitHub Issues
- SuperOps Support: Official Support
- MCP Documentation: Model Context Protocol
Made with ❤️ for the MSP community
Built by Saber Borgi - Solution Engineer passionate about automation and AI integration