Quick answer
- The DevOps shortlist
- git · github · sentry · slack · fetch · puppeteer · filesystem · sequential-thinking
- All from
- Anthropic's reference MCP servers (github.com/modelcontextprotocol/servers)
- Not on the list
- kubectl / terraform / cloud APIs, wrap them in a scoped shell + approval gate instead
- In AIDEN
- Inherited from your local Claude Code config; nothing to reconfigure
What MCP Unlocks for a DevOps Agent
A coding agent that can only read your repo is a strong pair-programmer and a weak on-call teammate. The Model Context Protocol changes the range: each MCP server exposes typed tools the agent can call, so a single session can pull the last failing workflow run, cross-reference it with a Sentry error, post a status update in Slack, and open a fix PR, all without asking you to paste anything. For DevOps that reach is the entire point, and it is why the servers that matter here are different from the ones that matter for greenfield feature work.
The right lens is capability, not novelty. Ask what the agent still cannot see or do after reading the code, then close those gaps deliberately. Below is the shortlist we would install first on any project doing real infra and incident work, drawn entirely from Anthropic's reference MCP servers. They are maintained, well-scoped, and small enough to reason about.
The Shortlist
| Server | What it gives the agent | Why it earns its slot for DevOps |
|---|---|---|
| git | Local repo operations: log, diff, blame, branch, status | Root-causing regressions: 'what changed on this file in the last week and by whom' without shelling out. |
| github | Issues, PRs, releases, workflow_runs, checks via the GitHub API | The single highest-leverage DevOps server. Read the failing workflow_run, correlate to a commit, open the fix. |
| sentry | Query issues and events from Sentry projects | Turns 'errors are spiking' into a concrete list of stack traces the agent can group and open PRs against. |
| slack | Read and post to Slack channels the bot is in | Post structured incident-room updates, ack alerts, drop a link to the workflow_run, without leaving the agent. |
| fetch | HTTP fetch of a URL, converted to readable text | Hit internal status pages and cloud-provider status APIs, read release notes, verify an endpoint returns 200. |
| puppeteer | Headless Chromium: navigate, screenshot, evaluate JS | Check dashboards and admin UIs that have no JSON endpoint; grab a chart or verify a graph rendered. |
| filesystem | Read/write files under explicitly allowed directories | Scoped access to a runbooks folder, generated log bundles, or a scratch dir for incident artifacts. |
| sequential-thinking | A structured step-by-step reasoning tool | Nudges the agent to plan an incident response before acting, helpful when the failure mode is unclear. |
Deep Dives on the Four That Matter Most
Of the shortlist, four servers do the majority of the work in an incident or a release. They are worth setting up carefully.
git + github
github: reading the failing workflow_run, listing recent releases, cross-referencing the commit range, and opening the fix PR back through the same server. Scope the token to the repos the agent actually needs.sentry
slack
fetch
Your AI workspace for shipping software.
Download AIDEN free and point it at your existing Claude Code or Codex setup. No credit card, running in minutes.
Download AIDEN freeFree to start · macOS 12+ · No credit card required
Responding to an Alert with an Agent
Concretely, here is how a well-equipped agent handles a PagerDuty page that fires because the 5xx rate on api-prod crossed the SLO. You start it with one sentence, the rest is servers doing their job:
- 1
Acknowledge and set the room
Using slack, the agent posts in#incidents: “Investigating 5xx spike on api-prod, will update in 5.” It threads every subsequent update on that message so the room has a single source of truth. - 2
Correlate deploys and workflow runs
Via github, it lists the last fewworkflow_runsonapi-prodand the recent releases. If a deploy landed within the alert window, that is the prime suspect; it captures the commit range for the follow-up diff. - 3
Confirm the shape of the failure
Through sentry, it lists new issues on the api-prod project in the last hour and groups them by error class. A single dominant issue (say a 500 in one handler) narrows the search; noisy spread suggests infrastructure, not code. - 4
Sanity-check external surfaces
With fetch, it hits your provider's status page and your own/healthzfrom an out-of-band region. Green + isolated to prod = code or config; red = wait, not roll back. - 5
Diff and propose
Via git + github, it diffs the suspect commit range against the last known-good release, drafts a rollback PR or a targeted fix PR, and links both in the Slack thread for your call. - 6
Stop at the mutation
It does NOT run the rollback itself. Merging the PR, kicking the deploy, or paging others stays with a human. The agent's job in this pattern is to compress the first 10 minutes of investigation, not to own the outage.
What NOT to Expose (Least-Privilege Patterns)
The MCP layer moves capability toward the agent quickly, which means it moves risk quickly too. Two principles keep the blast radius small.
Scope credentials, not prompts
Read from prod, write to staging
Prefer typed servers over shell scraping
Log what the agent did
Wire It Into Claude Code (and AIDEN)
All the servers above are the Anthropic reference implementations and install the same way. From your terminal, register them with Claude Code:
# Anthropic reference servers, added to Claude Code
claude mcp add git -- npx -y @modelcontextprotocol/server-git
claude mcp add github -- npx -y @modelcontextprotocol/server-github
claude mcp add sentry -- npx -y @modelcontextprotocol/server-sentry
claude mcp add slack -- npx -y @modelcontextprotocol/server-slack
claude mcp add fetch -- npx -y @modelcontextprotocol/server-fetch
claude mcp add puppeteer -- npx -y @modelcontextprotocol/server-puppeteer
claude mcp add sequential-thinking -- npx -y @modelcontextprotocol/server-sequential-thinking
# Credentials live in the server's environment, not in the prompt:
# GITHUB_PERSONAL_ACCESS_TOKEN, SENTRY_AUTH_TOKEN, SLACK_BOT_TOKEN, etc.Each server takes its credentials from environment variables, keep them in your shell profile or a secrets manager, not in the prompt. Once these are registered in ~/.claude.json (or a project's .mcp.json), every Claude Code session picks them up automatically, and every agent AIDEN launches inherits the exact same setup: AIDEN is a cockpit over your local coding-agent CLIs, so it uses your MCP config rather than a duplicate of it. BYO inference, BYO servers, BYO scopes.
Pair the servers with Claude skills that encode how your team responds, an incident-response skill that dictates the six steps above, a release-rollback skill that dictates the safe path. Capability from MCP, procedure from skills, both landing in the same window, gated by good context hygiene. That is the setup that makes a coding agent useful on-call instead of just useful in a feature branch.