Skip to Content
TaresQuickstart

Quickstart

In about five minutes: install Tares, get events from a real system flowing into one correlated timeline, and connect an agent that reads it.

Start Tares

uv tool install tares # or: pipx install tares tares up # daemon + console on http://localhost:8787

Open the console at http://localhost:8787 and add a source.

Add a source

The demo is a self-contained stack (a small api-server, Prometheus, and a traffic generator) plus a catalog that wires up three correlated sources, a view, and two triggers. Two files, no checkout. Start the stack Tares will ingest from:

curl -O https://raw.githubusercontent.com/glassflow/tares/main/demo/docker-compose.yml docker compose up -d

Stop the daemon from the first step (Ctrl-C) and restart it seeded with the demo catalog:

curl -O https://raw.githubusercontent.com/glassflow/tares/main/demo/catalog.demo.yaml TARES_CATALOG=catalog.demo.yaml tares up

The startup log confirms the import: imported catalog.demo.yaml into catalog (3 sources, 1 views, 2 triggers).

The catalog imports only while your catalog is still empty. That is fine here, since you haven’t created anything yet. If you have (say, you tried the other tab first), the import is skipped silently; restart on a fresh data directory instead: TARES_CATALOG=catalog.demo.yaml tares up --data-dir ~/tares-demo

Open Explore, pick the api-server entity, and watch metrics, logs, and alerts merge into one timeline. To break it on purpose and watch the triggers fire, see Run the demo stack.

(Prefer no catalog at all? Sources → Discover proposes sources from your running containers; the catalog just pre-wires the correlated view and the triggers.)

Connect an agent

Agents read Tares over MCP. Start the MCP endpoint, a second process that proxies to the daemon (skip this if you’re on the Docker compose; it’s already running on :8788):

tares mcp --transport streamable-http --port 8788 --taresd http://localhost:8787

Point Claude Code at it:

claude mcp add --transport http tares http://localhost:8788/mcp claude mcp list # tares: connected

Locally there’s no auth, so the connect command needs no token; on a deployed instance that sets TARES_AUTH_TOKEN, add --header "Authorization: Bearer <token>".

In a Claude Code session:

Use tares: list my sources and summarize what each one contains.

The agent calls the MCP tools (list_sources, catalog_describe, query, …) against the daemon. For other clients (Codex, Claude Desktop), transports, and the full tool list, see Connecting agents.

Verify

In the console, Agents → Reads lists each read as it happens, with client = mcp.

Next

  • Run the demo stack: cause an incident and watch the incident trigger fire.
  • Concepts: the data model.
  • Connectors: Vercel, Postgres, Prometheus, OTLP, Claude Code sessions, and more.
  • Deployment: self-host the daemon, MCP server, and TLS with Docker.
Last updated on