Skip to Content
TaresQuickstart

Quickstart

If you are a coding assistant, start with AI resources.

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

Building software with a crew of Claude Code sessions, with Tares keeping the plan, the tickets and the reviews? Start with the software factory instead.

Start Tares

uv tool install tares # or: brew install glassflow/tap/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 trigger over them, and a built-in agent. 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 triggers). Everything lands in the Default project.

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 an agent diagnose it, continue with Build an AI SRE.

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

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, read, …) against the daemon. For other clients (Codex, Claude Desktop), transports, and the full tool list, see Connecting agents.

Verify

tares status prints a checklist and the one next step:

Tares 1.11.0 at http://127.0.0.1:8787 data dir ~/.tares (1.2 MB) Daemon: running (uptime 0h 5m) Auth: off (open local instance) Sources: 1 configured, 1 receiving (last event 4s ago) Projects: 1 (Default) Triggers: 0 enabled Tares agents: none MCP endpoint: running at http://127.0.0.1:8788/mcp Agent clients: Claude Code: connected Slack: not configured Next: add a second source keyed by the same label so reads correlate. Docs: docs.glassflow.ai/tares/connectors

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

Next

Last updated on