Spinning up this repo gives you an endpoint that you can connect to any MCP Client (Claude Desktop, Cursor, DrDroid, etc.) and connect AI to your respective tools with just this change in your mcp.json
{
"mcpServers": {
"multi-tool-mcp-server": {
"url": "your_url/playbooks/mcp"
}
}
}
For sample usage, add this to Cursor, Claude Desktop or clone Slack AI Bot and create your own AI Slack Bot that interacts with the following sources:
- Grafana -- logs, metrics, dashboards fetching and analysis
- Kubernetes -- run kubectl commands
- Grafana Loki -- logs fetching (Can also be done via Grafana)
- Signoz -- Query your OpenTelemetry data directly from Signoz / Clickhouse.
- Bash Commands -- Run commands on terminal
Additional support: Apart from these, there is also support for 30+ other tools. Browse full list of integrations supported here
Note:
- If you want the MCP Server to be connected to your k8s cluster without any additional configuration effort, install using the HELM chart.
- Add your credentials in
credentials/secrets.yaml
. Sample format can be found in credentials/credentials_template.yaml - Run the MCP server:
docker compose -f mcp.docker-compose.yaml up --build -d
- Add it to your Cursor using the localhost setup with this
mcp.json
configuration:{ "mcpServers": { "monitoring-mcp-server": { "url": "http://localhost:8000/playbooks/mcp" } } }
This is the process for Helm deployment:
- Add the secrets for the integrations in helm/configmap.yaml file. Sample format can be found in credentials/credentials_template.yaml
Refer to the image below for a sample:
Command:
cd mcp_helm
./deploy_mcp_helm.sh
- After you spin this up, you need to either (A) Create an Ingress to expose the server via a URL or (B) port forward to your localhost and access the MCP server for your testing.
Run this command for option (B).
kubectl port-forward -n drdroid service/mcp-server-service 8000:8000"
Once you do this, the url http://localhost:8000/playbooks/mcp
can be used as an MCP server to connect to all integrations configured in the credentials + k8s cluster.
Note:
- The server will be installed in the namespace 'drdroid' by default. This can be changed in the helm/deploy_helm.sh file.
- Server will have read access to the cluster and will be able to fetch the metrics from the cluster.
- Create and activate a virtual environment:
uv venv env source .venv/bin/activate
- Install dependencies:
uv pip sync requirements.txt
- Start the MCP server:
sh start_mcp_server.sh
For any queries or help in setup, join Discord
We welcome contributions. If you have any suggestions or improvements, please feel free to open an issue or submit a pull request. We appreciate your help in making this project better!