Skip to Content
Tares

How do I let the Cursor agent write its conclusion back to Tares?

Tares lets the Cursor agent record its conclusion with the record_finding tool, using a project key that is scoped to one project. The finding lands on the entity’s timeline under the key’s name. The next agent that reads that entity, a Tares agent or an outside one, starts from it. This is the write-back half of the AI SRE flow.

How it works

Cursor connects to the Tares MCP endpoint like any MCP client. The credential decides what it can do.

  • A project key reads one project and records findings in it. Any other call answers 403.
  • You name the key after the agent, for example cursor. Every finding the agent records carries that name.
  • With a project key the project is implied, so the project tools need no project argument.
  • record_finding takes the entity the finding is about, the finding as markdown, and a verdict, one lowercase word such as rca. It also accepts an optional headline and next_step.
  • The finding is stored on the entity’s timeline. list_findings and project_timeline return it to the next agent, together with the findings Tares agents recorded.

The tools of kind project (list_skills, stats, list_findings, record_finding and others) are described in Connecting agents (MCP). The full walkthrough with Claude Code is in Connect an outside agent to a project. It says the same steps work for Cursor, and only the connect step differs.

Set it up

You need a running Tares instance with a project that has sources, and the MCP endpoint running. On a secured instance, keys are checked. On an open instance there are no keys, so skip the key and name the project in your prompts instead.

  1. Start the MCP server if you run Tares locally. It serves http://127.0.0.1:8788/mcp.

    tares mcp
  2. Open the project in the console, go to Settings → Keys and choose New key. Name it after the agent, such as cursor. Copy the secret now, because it is shown once.

  3. Add the server to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Put the project key in a headers entry as an Authorization Bearer header, the generic shape most MCP clients accept. Drop the headers entry on an open instance. On a server or Tares Cloud instance, replace the URL with your own endpoint.

    { "mcpServers": { "tares": { "url": "http://localhost:8788/mcp", "headers": { "Authorization": "Bearer <project key>" } } } }
  4. Approve the server under Settings → MCP in Cursor.

  5. Check the connection by asking Cursor:

    Use tares: which project can you work in?

    It calls list_projects and names the one project the key belongs to.

  6. Ask for work and tell it to write back:

    Use tares: what happened to api-server in the last 30 minutes? Check the project’s skills first, and record what you conclude.

    Cursor reads the skills with list_skills and get_skill. It looks at stats, read, list_findings and project_timeline, then calls record_finding with api-server as the entity, a markdown finding and a verdict such as rca.

  7. Open the project to see the result. The finding is a card under What the agents found on the Overview, under the key’s name. It is a thread of its own in Advanced setup’s Activity, marked as recorded from outside Tares. It is also on the entity’s timeline in Explore.

To cut the agent off, revoke the key under Settings → Keys.

What you get

  • A conclusion from Cursor becomes part of the project’s record, not a chat message that disappears.
  • Each finding shows the agent’s name, so you can tell Cursor’s conclusions from those of Tares agents and other outside agents.
  • The next agent that reads the entity sees the finding on the timeline and builds on it instead of repeating the investigation.
  • The key limits the agent to one project. It reads that project and records findings in it, and nothing else.
  • You control access in one place. Revoking the key removes the key’s subscriptions too.

When something else fits

  • If you only want Cursor to read, use a scoped API key with the read scope. A read key gets the read surface, and writing needs a matching scope.
  • If the agent runs on its own, for example a service with a webhook, have it call join_project(url). Tares then sends it every trigger firing in the project, so it does not wait for you to ask.
  • If you want to explore without wiring up a client, use the in-app Ask chat in the console. It has the read tools.

Still stuck? Get help

Last updated on