andrewtengson/maya-sre-mcp-server
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.
list_clusters
List all available clusters from Port inventory
get_cluster
Get detailed information about a specific cluster
list_eks_clusters
List all EKS clusters directly from AWS API
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)
-
Update environment variables:
Edit the
docker-compose.yml
file and update the environment variables with your own values:GITLAB_URL
: Your GitLab instance URLGITLAB_APP_ID
: Your GitLab application ID
Cluster Inventory Configuration (choose one):
Option A: Use Port.io (default)
PORT_CLIENT_ID
: Your Port client IDPORT_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
andAWS_PROFILE
-
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
-
Setup Environment
Copy the .env.example file to .env and update the values with your own values:
cp .env.example .env
-
Install dependencies:
Install
pnpm
:npm install -g pnpm
Run in the project root:
pnpm install
-
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 inventoryget_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 APIget_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.