How do I ask the Cursor agent to investigate high latency with Tares?
Tares lets the Cursor agent investigate high latency once you connect Cursor to the Tares MCP endpoint and ask what happened to your service in the last 15 minutes. Cursor calls the read tool and answers from one correlated timeline of metrics, logs, alerts and findings. The connection is one entry in mcp.json, and the same question works for any service whose sources share a label.
How it works
Tares ingests your metrics, logs and alerts and merges them into one time-ordered timeline per entity, such as a service, when the sources carry the same label (for example service). The Tares MCP server exposes that timeline to Cursor as tools.
When you ask about a service, Cursor discovers the tools and calls read with the service label set to that service. read returns the correlated timeline across all matching sources, so latency metrics, request logs and fired alerts such as HighLatency arrive in one answer, on one clock. If agents or people have recorded findings on that service, the read includes them, so Cursor starts from the earlier conclusion instead of from scratch.
This is the pull side: you ask, the agent reads. Tares does the data side (ingestion, correlation, the MCP read surface) and Cursor brings the reasoning.
Set it up
-
Start Tares on your machine.
tares up -
In a second terminal, start the MCP endpoint. A local Tares serves
/mcponly from this second process. The endpoint ishttp://localhost:8788/mcp.tares mcp -
Add Tares to
~/.cursor/mcp.jsonfor all projects, or to.cursor/mcp.jsonfor one project.{ "mcpServers": { "tares": { "url": "http://localhost:8788/mcp" } } } -
Approve the server in Cursor under Settings → MCP.
-
Verify the connection. Ask Cursor:
Use tares: what are you ingesting right now?
Cursor calls
catalog_listand answers with your sources, triggers and projects. -
Ask about the latency problem, naming your service and a short window:
Use tares: what happened to api-server in the last 15 minutes? Is latency up, and what changed around the same time?
Replace api-server with your own service name. Cursor calls
readand answers from the correlated timeline.
If Tares runs on your own server or on Tares Cloud, use that instance’s MCP endpoint instead of the local URL. On Tares Cloud the console’s Connect page shows it, with the client command filled in. A secured instance requires a credential, so use a scoped API key with the read scope, as described on Connecting agents. On an open local instance you need none.
No service to ask about yet? The walkthrough in AI SRE stands up a demo system with a latency scenario, and the question above works against it unchanged.
What you get
- A single question in Cursor returns metrics, logs, alerts and findings for one service in time order, so you see whether a latency alert fired before or after a deploy or an error spike.
- Every read is visible in the Tares console under Reads, tagged
client = mcp, so you can check what Cursor looked at. - Follow-up questions stay on the same evidence. You can ask Cursor to narrow the read to specific sources, or to list the findings recorded for the service.
- Cursor can also write back. It can record a finding or use
rememberto store an observation, so the next investigation, yours or an agent’s, starts from that conclusion. - The same connection works for other tasks: creating a trigger to be woken when the latency returns, or setting up a new source conversationally.
When something else fits
- If you want the diagnosis waiting before you ask, use a trigger that wakes an agent, the push side covered in AI SRE.
- If you would rather not wire an external client, use Ask in the Tares console, which has the same read tools.
- If your client is not Cursor, the Connecting agents page covers Claude Code, Codex and any other MCP client.