superops-mcp-server

Sborgi/superops-mcp-server

3.2

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.

Tools
5
Resources
0
Prompts
0

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.

License: MIT TypeScript MCP

🎯 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

  1. Clone the repository

    git clone https://github.com/YOUR_USERNAME/superops-mcp-server.git
    cd superops-mcp-server
    
  2. Install dependencies

    npm install
    
  3. Configure environment

    cp .env.example .env
    # Edit .env with your SuperOps credentials
    
  4. Build the server

    npm run build
    
  5. 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"
          }
        }
      }
    }
    
  6. Restart Claude Desktop

🔑 Getting SuperOps Credentials

API Token

  1. Log into your SuperOps.ai account
  2. Navigate to Settings → My Profile → API Token
  3. Click Generate Token
  4. Copy the generated token

Subdomain

  1. Go to Settings → MSP Information
  2. Find your Customer Subdomain
  3. Copy this value

Datacenter (Optional)

Choose based on your account location:

🛠️ 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 pagination
  • pageSize (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 number
  • pageSize (optional): Items per page

Example Usage:

List all our clients

get_assets

Query IT assets with filters

Parameters:

  • clientId (optional): Filter by client
  • assetType (optional): Filter by type (e.g., "desktop", "laptop")
  • page (optional): Page number
  • pageSize (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 ID
  • subject (required): Ticket subject
  • description (required): Detailed description
  • priority (optional): Priority level
  • assignedToId (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 update
  • status (optional): New status
  • priority (optional): New priority
  • assignedToId (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

  1. Check config path: Ensure Claude Desktop config is in the correct location
  2. Verify build: Run npm run build to ensure compilation succeeded
  3. Check logs: Look at Claude Desktop logs for errors
  4. Restart Claude: Completely quit and restart Claude Desktop

API Authentication Errors

  1. Verify token: Check your API token is correct in .env
  2. Check subdomain: Ensure subdomain matches your account
  3. 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:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the file for details.

🙏 Acknowledgments

📧 Support


Made with ❤️ for the MSP community

Built by Saber Borgi - Solution Engineer passionate about automation and AI integration