Sentry (MCP)¶
The Sentry MCP server provides access to Sentry for error tracking and monitoring. It enables Holmes to search issues, retrieve stack traces, analyze error patterns, and investigate application crashes.
Prerequisites¶
Before configuring the Sentry MCP server, you need a Sentry Auth Token.
- Go to Settings → Auth Tokens in your Sentry account
- Click Create New Token
- Select the following scopes:
org:readproject:readissue:readevent:readmember:readalerts:readteam:read
- Click Create Token
- Copy the token immediately - it won't be shown again
Self-hosted Sentry
If you're using a self-hosted Sentry instance, you'll also need your Sentry host URL (e.g., https://sentry.mycompany.com).
Configuration¶
For CLI usage, you need to deploy the Sentry MCP server first, then configure Holmes to connect to it.
Step 1: Create the Sentry Token Secret
kubectl create namespace holmes-mcp
kubectl create secret generic sentry-mcp-token \
--from-literal=token=<YOUR_SENTRY_AUTH_TOKEN> \
-n holmes-mcp
Step 2: Deploy the Sentry MCP Server
Create a file named sentry-mcp-deployment.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: sentry-mcp-server
namespace: holmes-mcp
spec:
replicas: 1
selector:
matchLabels:
app: sentry-mcp-server
template:
metadata:
labels:
app: sentry-mcp-server
spec:
containers:
- name: sentry-mcp
image: us-central1-docker.pkg.dev/genuine-flight-317411/mcp/sentry-mcp:1.0.1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
name: http
env:
- name: SENTRY_AUTH_TOKEN
valueFrom:
secretKeyRef:
name: sentry-mcp-token
key: token
# Uncomment for self-hosted Sentry:
# - name: SENTRY_HOST
# value: "https://sentry.mycompany.com"
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
readinessProbe:
tcpSocket:
port: 8000
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8000
initialDelaySeconds: 10
periodSeconds: 30
---
apiVersion: v1
kind: Service
metadata:
name: sentry-mcp-server
namespace: holmes-mcp
spec:
selector:
app: sentry-mcp-server
ports:
- port: 8000
targetPort: 8000
protocol: TCP
name: http
Deploy it to your cluster:
Step 3: Configure Holmes CLI
Add the MCP server configuration to ~/.holmes/config.yaml:
mcp_servers:
sentry:
description: "Sentry error tracking and monitoring"
config:
url: "http://sentry-mcp-server.holmes-mcp.svc.cluster.local:8000/sse"
mode: sse
After making changes to your configuration, run:
Create a Kubernetes secret in the namespace Holmes runs in:
kubectl create secret generic holmes-sentry-mcp \
--from-literal=token=<YOUR_SENTRY_AUTH_TOKEN> \
-n <namespace>
When using the standalone Holmes Helm Chart, update your values.yaml:
Apply the configuration:
Custom LLM Instructions¶
Reuses the holmes-sentry-mcp secret created in the Configuration section above.
To customize how Holmes uses Sentry, you can provide your own LLM instructions:
When using the standalone Holmes Helm Chart, update your values.yaml:
mcpAddons:
sentry:
enabled: true
auth:
secretName: "holmes-sentry-mcp"
llmInstructions: |
Use the Sentry MCP to investigate application errors and crashes.
When investigating, always start by listing projects, then search for relevant issues,
and retrieve full stack traces before drawing conclusions.
Apply the configuration:
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml:
holmes:
mcpAddons:
sentry:
enabled: true
auth:
secretName: "holmes-sentry-mcp"
llmInstructions: |
Use the Sentry MCP to investigate application errors and crashes.
When investigating, always start by listing projects, then search for relevant issues,
and retrieve full stack traces before drawing conclusions.
Apply the configuration:
Self-Hosted Sentry¶
Reuses the holmes-sentry-mcp secret created in the Configuration section above.
For self-hosted Sentry, add the host configuration:
When using the standalone Holmes Helm Chart, update your values.yaml:
mcpAddons:
sentry:
enabled: true
auth:
secretName: "holmes-sentry-mcp"
config:
host: "https://sentry.mycompany.com"
Apply the configuration:
Available Tools¶
| Tool | Description |
|---|---|
list_organizations |
List accessible Sentry organizations |
list_projects |
List projects in an organization |
list_issues |
List issues for a project |
get_issue |
Get detailed issue information |
get_issue_events |
Get events for a specific issue |
get_event |
Get event details with full stack trace |
search_errors |
Search issues using Sentry query syntax |
resolve_issue |
Mark an issue as resolved |
assign_issue |
Assign an issue to a team member |