Skip to Content
Tares

How do I use the Cursor agent to investigate Sentry issue alerts with Tares?

Tares lets Cursor investigate Sentry issue alerts by receiving them through a webhook source and serving them to Cursor over MCP, next to your logs and metrics. You connect Cursor with one entry in mcp.json, then ask about the service that alerted. Cursor answers from one correlated timeline that holds the alert and the evidence around it.

How it works

Sentry reaches Tares through the webhook connector and a Sentry-side setup. Tares has no connector of its own for Sentry today. Sentry posts each issue alert to the source’s ingest endpoint, and Tares stores the payload lossless as an event.

Sentry signs its deliveries, and the signature is the credential. The source verifies it with the integration Client Secret, so it needs no extra authentication on the Tares side.

Cursor connects to the Tares MCP endpoint. The read tool returns a time-ordered timeline across all sources that match a label selector. When the Sentry source and your log and metric sources carry the same label, such as service, one read returns the alert next to the logs and metrics for that service on one clock. Cursor does not query Sentry separately. It reads the alert and the evidence together.

This is the pull half of the AI SRE pattern: you ask, and the agent reads. Connecting agents lists every MCP client and tool.

Set it up

  1. Create the Sentry integration. In Sentry, open Settings, Developer Settings and add an integration. Set its Webhook URL to the ingest URL of your Tares source. Subscribe it to the resources you want, such as issues or errors, and turn on Alert Action so alert rules can use it. Copy the integration Client Secret.

  2. Add a webhook source in Tares. Use the signing options below. They are described in the Tares release notes, not on the webhook connector page. The field action is a top-level field in the Sentry payload, so it can set the event type. The constant service label ties the alert to the service you ask about. Use a different constant for each service.

- name: sentry-alerts connector: webhook config: event_type_field: action signature_scheme: hmac_sha256 signature_header: Sentry-Hook-Signature signing_secret: <client-secret> labels: - { name: service, const: api-server, primary: true }
  1. Start the MCP endpoint. On a local Tares, the daemon does not serve /mcp by itself. Start Tares, then run the MCP server in a second terminal.
tares up tares mcp --transport streamable-http

On a server or Tares Cloud instance the MCP server is already running. Use the endpoint from your console under Connect.

  1. Connect Cursor. Add this to ~/.cursor/mcp.json for all projects, or to .cursor/mcp.json for one project. Then approve the server under Settings → MCP.
{ "mcpServers": { "tares": { "url": "http://localhost:8788/mcp" } } }
  1. Verify the connection. Ask Cursor: “Use tares: what are you ingesting right now?” It calls catalog_list and answers with your sources, including the Sentry source.

  2. Investigate an alert. Name the service that alerted:

Use tares: what happened to api-server in the last 15 minutes?

Cursor calls read with the label service set to api-server. It answers from the merged timeline, with the Sentry alert placed among the logs and metrics around it. Each read shows up in the console under Reads, tagged client = mcp.

What you get

  • Sentry issue alerts land as events on the same timeline as your other sources, keyed by the label you chose.
  • Cursor answers from the alert and the evidence around it in one read, without a separate query per system.
  • Signed deliveries mean only requests that carry a valid Sentry signature are accepted.
  • Cursor can record what it concludes, so the next investigation starts from that finding. The record_finding tool is available when the key allows it.
  • Setup stays ordinary configuration: one Sentry integration, one webhook source, one entry in mcp.json.

When something else fits

  • If you want an agent to start without being asked, add a trigger over the Sentry source and a Tares agent or a webhook delivery. The AI SRE guide walks through it.
  • If you work in Claude Code or Codex instead of Cursor, the same endpoint works. The agents page has the connection command for each client.
  • If you need the Sentry alert payload shaped differently, the webhook connector lets you choose the labels, the event type and the text template.

Still stuck? Get help

Last updated on