How does an outside agent record a finding in a project, and where does it show up?
Tares lets an outside agent record a finding with record_finding(entity, finding, verdict), using a project key. The finding appears under What the agents found on the project Overview, under the key’s name. It also shows as its own thread in Activity and on the entity’s timeline in Explore. The full walkthrough is in Connect an outside agent to a project.
How it works
An outside agent, such as Claude Code, Codex, Cursor or your own MCP client, connects to the Tares MCP endpoint with a project key. The key reads one project and records findings in it, so the project is implied and the tools need no project argument. Any other call answers 403.
The agent works through the project tools in this order:
list_skills, thenget_skillfor a skill whose description matches the task.statsto see which values moved, andreadfor the entity’s timeline across the project’s sources.list_findingsandproject_timelineto see what the Tares agents already concluded, so it builds on that instead of repeating it.record_finding(entity, finding, verdict)when it reaches a conclusion.
The three arguments mean this:
entityis what the finding is about, for exampleapi-server.findingis the conclusion, written as markdown.verdictis one lowercase word, such asrca.
The key’s name is stamped on every finding it records. Name the key after the agent that holds it, such as claude-code, and you can tell at a glance who concluded what. The same flow is part of the AI SRE setup, where Tares agents and outside agents share one project.
Set it up
- Run a Tares instance with a project that has sources and a trigger, for example the AI SRE demo. Start it with auth (
tares up --auth, orTARES_AUTH_TOKENset) so keys are checked. On an open instance there are no keys, so skip the key step and name the project in your prompts instead. - Start the MCP endpoint. It serves
http://127.0.0.1:8788/mcp.
tares mcp- Open the project, go to Settings → Keys, and choose New key. Name it after the agent, such as
claude-code. Copy the secret now, because it is shown once. - Connect your agent to the MCP endpoint over HTTP and send the project key as a Bearer Authorization header. Over stdio, start
tares-mcpwithTARES_AUTH_TOKENset to the project key instead. Any MCP client works. Only the connect command differs. - Check the connection from a Claude Code session:
Use tares: which project can you work in?
It calls list_projects and names the one project the key belongs to.
6. Ask for something the project is about:
Use tares: what happened to api-server in the last 30 minutes? Check the project’s skills first, and record what you conclude.
The agent loads skills, reads the timeline, checks existing findings and then calls record_finding.
7. Open the project and look for the finding in the three places listed below.
What you get
Each recorded finding is visible in three places in the project:
- Overview: a card under What the agents found, labeled with the key’s name.
- Activity: in Advanced setup, a thread of its own, marked as recorded from outside Tares.
- Explore: an entry on the entity’s timeline.
Because the finding sits on the entity’s timeline, the next Tares agent that reads api-server starts from it. Your outside agent and the Tares agents build on each other’s conclusions instead of working in parallel.
To cut an agent off, revoke its key under Settings → Keys. That also removes the key’s subscriptions.
When something else fits
- If the agent should run on its own, for example a service with a webhook, have it join the project with
join_project(url). Tares then sends every firing of every trigger in the project to that URL, and the agent shows under Agents marked external. - If you only want to read the project and not record anything, you do not need
record_finding. The read tools (list_skills,get_skill,stats,read,list_findingsandproject_timeline) cover that.
Related
Still stuck? Get help