Skip to Content
Tares

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_code source. 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

  1. Start the MCP server if Tares runs on your machine. Run this in a second terminal while tares up is running. On a server or Tares Cloud instance, skip this step.

    tares mcp --transport streamable-http --port 8788 --taresd http://localhost:8787
  2. Connect Claude Code with the plugin. Run these two commands inside Claude Code:

    /plugin marketplace add glassflow/tares /plugin install tares@tares

    The 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.

  3. Or connect with the claude CLI. Run this in your terminal:

    claude mcp add --transport http tares http://localhost:8788/mcp

    For 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>"
  4. 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 --url before the URL, because a bare URL registers a stdio server.

    codex mcp add tares --url http://localhost:8788/mcp
  5. Verify. Ask your client: “Use tares: what are you ingesting right now?” It should call catalog_list and answer with your sources, triggers and projects. In the console, Reads lists each read as it happens, tagged client = 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_code source, in the same install.
  • Tools to read your data: read, catalog_list, catalog_describe, list_sources and list_connectors.
  • Tools to act: create_trigger to be woken when something happens again, remember to write back an observation, and record_finding to record a finding on an entity.
  • Setup tools such as discover_source, test_source and create_source, so you can configure sources by asking the agent.
  • A key’s scope decides which tools succeed. A read key 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 tares package where the agent runs and use tares-mcp as the stdio command, or bridge to the HTTP endpoint with npx 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.

Still stuck? Get help

Last updated on