Skip to Content
Tares

Can an AI SRE restart or fix things itself when it finds crash loops?

Tares agents read and conclude by default, and you can let one agent act on crash loops by connecting an external MCP server that exposes the actions you want. The agent then calls those tools next to its built-in reads. Every run records the external tools it called, so you can see exactly what it touched. This is how the AI SRE workflow stays under your control.

How it works

A Tares agent starts with two tools, read and stats. Both use the same Tares read path and cover the sources of the projects the run is for, unless the agent names others with sources.

  • read returns one correlated timeline for an entity. For a crash loop, that is the restarts, errors and changes around one service in one place.
  • stats counts each value of one label, this window against the window before, largest change first. For a busy stream it shows which service or pod changed most, where reading lines would only show the latest few.
  • When a project the run is for has skills, the agent also gets a skill tool that loads one skill’s instructions by name.
  • The agent ends its runs with the conclude tool.

By default that is the whole boundary: a Tares agent reads and concludes, and it does not act. It does not restart, deploy or ticket anything on its own.

Connecting external tools moves that boundary for one agent. Tools from an MCP server can act on whatever the server exposes. If a server exposes a restart or a fix, an agent you opt in can call it. You decide per agent which servers it may touch. The other agents keep reading and concluding.

At run time the selected servers’ tools are offered to the model next to read and stats, prefixed by server name, for example github__create_issue. The full details are on the tools and MCP servers page.

Set it up

  1. Start Tares, so you can open the project settings in the UI.
tares up
  1. Register the server under Settings, then MCP servers, in a project’s Advanced setup. Give it a name and a streamable-HTTP URL, and add an auth header if the server needs one. The header value is stored as a secret and never shown again. Stdio servers are not supported. Any project’s agents can use a registered server.
  2. Limit what the server offers. Under Advanced: extra headers you can add non-secret headers that are sent with every request. GitHub’s hosted MCP server takes X-MCP-Toolsets: repos,pull_requests to limit the tools it offers, and X-MCP-Readonly: true for a read-only agent.
  3. Select Test. Tares connects live and lists the server’s tools, so you can confirm that the restart or fix tool you want is there, and that nothing you do not want is.
  4. Open the form of the agent that should act and pick the server under External tools. Each selection shows as a removable tag. Leave the server off the agents that should only investigate.
  5. After a run, open it under Runs and check the external tools it called.

The server you register decides what the agent can change. If you want an agent that opens a ticket for a crash loop but cannot touch a running service, register a server and limit its tools to ticketing.

What you get

  • An agent that reads the evidence first and, if you allow it, acts through the tools you chose. Its own reads and the external actions sit in the same run.
  • A per-agent boundary. One agent can restart or fix through an MCP server while another stays read-only.
  • An audit trail. Each run records the external tools it called, shown on the run under Runs, so you can see what an agent touched outside Tares.
  • Bounded tool output. A tool result is capped at 8,000 characters, so a verbose server cannot crowd out the evidence.
  • A run that survives a broken server. If a server is down when the run starts, it is skipped and logged, and the run continues with the tools that remain. A failed call goes back to the model as an error to reason about.

Start with the AI SRE guide for the wider picture, then use the tools and MCP servers page for the settings above.

When something else fits

  • If you want crash loops investigated and explained but never acted on, keep the defaults. The agent reads, concludes and leaves the fix to you.
  • If you need an action Tares has no tool for, the action has to come from an MCP server you register. Stdio servers are not supported, so the server must offer a streamable-HTTP URL.

Still stuck? Get help

Last updated on