maya-sre-mcp-server

andrewtengson/maya-sre-mcp-server

3.2

If you are the rightful owner of maya-sre-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 henry@mcphub.com.

MCP server that automates Level 1 SRE tasks, including Kubernetes checks and AWS troubleshooting.

Tools
  1. list_clusters

    List all available clusters from Port inventory

  2. get_cluster

    Get detailed information about a specific cluster

  3. list_eks_clusters

    List all EKS clusters directly from AWS API

  4. get_eks_cluster

    Get detailed information about a specific EKS cluster

SRE MCP Server

MCP server that aims to automate Level 1 SRE tasks, including Kubernetes checks, AWS troubleshooting, and basic remediation, to streamline operations and reduce toil.

⚠️ Experimental Project

This project is experimental and meant to be used as an example only.

  • No updates will be made to this repository
  • No pull requests will be accepted
  • Feel free to fork and use this as a starting point for your own implementation
  • This is a public copy of a closed-source project for demonstration purposes

Running Locally

Option 1: Docker Compose (Recommended)

  1. Update environment variables:

    Edit the docker-compose.yml file and update the environment variables with your own values:

    • GITLAB_URL: Your GitLab instance URL
    • GITLAB_APP_ID: Your GitLab application ID

    Cluster Inventory Configuration (choose one):

    Option A: Use Port.io (default)

    • PORT_CLIENT_ID: Your Port client ID
    • PORT_CLIENT_SECRET: Your Port client secret

    Option B: Use AWS EKS directly

    • Set USE_AWS_EKS_INVENTORY=true
    • Configure AWS credentials (IAM role, profile, or environment variables)
    • Optionally set AWS_REGION and AWS_PROFILE
  2. Run with Docker Compose:

    docker-compose up --build
    

    The app will be available at http://localhost:3000.

    To run in the background:

    docker-compose up -d --build
    

    To stop the services:

    docker-compose down
    

Option 2: Local Development

  1. Setup Environment

    Copy the .env.example file to .env and update the values with your own values:

    cp .env.example .env
    
  2. Install dependencies:

    Install pnpm:

    npm install -g pnpm
    

    Run in the project root:

    pnpm install
    
  3. Run the app:

    pnpm build && pnpm start
    

    The app will be available at http://localhost:3000.

Testing the Server

Use mcp-inspector or any other MCP client to test the server:

npx @modelcontextprotocol/inspector@latest

Claude Desktop Configuration

~/Library/Application Support/Claude/claude_desktop_config.json

For local development (port 3000):

{
  "mcpServers": {
    "sre-mcp-server": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}

Claude Code Configuration

For local development:

claude mcp add --transport http sre-mcp-server http://localhost:3000/mcp

Available Tools

The server provides different sets of tools based on your cluster inventory configuration:

Kubernetes Tools (Always Available)

  • Standard Kubernetes operations and troubleshooting tools

Cluster Inventory Tools (Configurable)

When using Port.io (default):

  • list_clusters - List all available clusters from Port inventory
  • get_cluster - Get detailed information about a specific cluster

When using AWS EKS (USE_AWS_EKS_INVENTORY=true):

  • list_eks_clusters - List all EKS clusters directly from AWS API
  • get_eks_cluster - Get detailed information about a specific EKS cluster

Both options provide similar functionality but use different data sources for cluster discovery and metadata.