How do I connect Claude Code to Tares over MCP?
You connect Claude Code to Tares by installing the Tares plugin, or by running one claude mcp add command against your Tares MCP endpoint. Claude Code then reads your correlated timeline of logs, metrics, alerts and findings. Cursor uses an mcp.json entry and Codex uses codex mcp add, with the same endpoint.
How it works
Tares serves its tools to any MCP client over streamable HTTP at an endpoint that depends on where Tares runs:
- Your machine (tares up):
http://localhost:8788/mcp. The daemon alone does not serve this path, so you start the MCP server as a second process. - Your own server:
https://<your-domain>/mcp, already running. - Tares Cloud: shown in your console under Connect. Each instance has its own hostname.
Once the client connects, it discovers the Tares tools and can call read, catalog_list and the rest. For Claude Code you have two paths:
- The plugin is the default. One install wires the MCP read-back and also captures your sessions into the
claude_codesource. See the Claude Code connector. - The claude CLI registers only the MCP server, with no session capture. Use it when you want to read from Tares without sending sessions in.
On a secured instance (tares up --auth, every server and Tares Cloud instance) the client must send a credential. Prefer a scoped API key with the read scope over the root token. On an open local instance no credential is needed.
Set it up
-
Start the MCP server if Tares runs on your machine. Run this in a second terminal while
tares upis running. On a server or Tares Cloud instance, skip this step.tares mcp --transport streamable-http --port 8788 --taresd http://localhost:8787 -
Connect Claude Code with the plugin. Run these two commands inside Claude Code:
/plugin marketplace add glassflow/tares /plugin install tares@taresThe install prompts for the Tares URL (the MCP endpoint, default
http://127.0.0.1:8788/mcp), an optional auth token that is stored in the OS keychain, and a capture toggle. The plugin connects over HTTP, so you only need a running endpoint. -
Or connect with the claude CLI. Run this in your terminal:
claude mcp add --transport http tares http://localhost:8788/mcpFor a remote, secured instance, pass the credential as a header:
claude mcp add --transport http tares https://<your-host>/mcp \ --header "Authorization: Bearer <api-key>" -
Connect Cursor or Codex if you use them. For Cursor, add this to
~/.cursor/mcp.json(global) or.cursor/mcp.json(per project), then approve the server under Settings, MCP:{ "mcpServers": { "tares": { "url": "http://localhost:8788/mcp" } } }For Codex, run the following. Keep
--urlbefore the URL, because a bare URL registers a stdio server.codex mcp add tares --url http://localhost:8788/mcp -
Verify. Ask your client: “Use tares: what are you ingesting right now?” It should call
catalog_listand answer with your sources, triggers and projects. In the console, Reads lists each read as it happens, taggedclient = mcp.
The console’s Connect page generates these exact commands with your endpoint and token filled in. The full client list, including VS Code, Windsurf, Cline, Zed and Gemini CLI, is on Connecting agents (MCP).
What you get
- Claude Code answers questions such as “what happened to api-server in the last 15 minutes?” from one correlated, time-ordered timeline of logs, metrics, alerts and findings.
- With the plugin, you also get your Claude Code sessions captured into Tares through the
claude_codesource, in the same install. - Tools to read your data:
read,catalog_list,catalog_describe,list_sourcesandlist_connectors. - Tools to act:
create_triggerto be woken when something happens again,rememberto write back an observation, andrecord_findingto record a finding on an entity. - Setup tools such as
discover_source,test_sourceandcreate_source, so you can configure sources by asking the agent. - A key’s scope decides which tools succeed. A
readkey gets the read surface, and writing needs the matching scope. For an agent that should work in one project only, use a project key.
When something else fits
- You want MCP access without session capture. Use the claude CLI command instead of the plugin.
- Your client only supports stdio servers. Install the
tarespackage where the agent runs and usetares-mcpas the stdio command, or bridge to the HTTP endpoint withnpx mcp-remote http://localhost:8788/mcp. - The agent and the daemon share a machine and you would rather not run the HTTP server. The stdio transport proxies to the daemon at
TARESD_URL. - You only want to explore your data. The Ask chat in the console has the same read tools, with no external client to wire up. Open it under Ask or with ⌘K.
- You use another client. Any MCP client that supports remote servers connects with streamable HTTP, your endpoint, and a Bearer API key on a secured instance. See Connecting agents (MCP) for the config shapes.