Skip to content
Documentation

How Novix Flow works.

Architecture, setup for beta testers, the tools Claude can call, and a preview of the autonomous agent mode we're building.

Architecture

In the beta, Novix Flow is an MCP server that runs next to your Claude client. It exposes read-only access to ClickHouse, read/write access to Linear, and scoped access to your repository. Claude decides which tools to call. The dashed path is the agent mode in development, where Novix orchestrates Claude directly.

ClickHouse
error telemetry
Linear
issue context
Novix MCP server
tools + prompts
Claude
Desktop / Code (beta)
Agent mode
Haiku → Sonnet
Sandbox
test verification
GitHub PR
with root cause
Available in Beta In Development

Beta setup

Available in Beta

Beta teams receive access to the package during onboarding. Add the server to your Claude client configuration (for Claude Desktop, claude_desktop_config.json), restart the client, and ask Claude to triage a service.

claude_desktop_config.json
{
  "mcpServers": {
    "novix-flow": {
      "command": "npx",
      "args": ["-y", "@novixlab/flow-mcp"],
      "env": {
        "CLICKHOUSE_URL": "https://your-clickhouse:8443",
        "CLICKHOUSE_USER": "novix_readonly",
        "CLICKHOUSE_PASSWORD": "••••••••",
        "LINEAR_API_KEY": "lin_api_••••••••",
        "NOVIX_REPO_PATH": "/path/to/your/repo"
      }
    }
  }
}

Use a read-only ClickHouse user. Credentials stay on your machine and are only used by the local server.

Tools & prompts

Available in Beta
NameTypeWhat it does
query_clickhouse_errorstoolError spikes by service and time window.
get_linear_contexttoolRelated Linear issues for the affected service.
read_repo_filestoolSource files involved in the failure.
update_linear_issuetoolCreate or update the issue with root cause + patch.
triage-incidentpromptGuided workflow: spike → hypothesis → patch → write-back.
  • Incident triage workflow

    The triage-incident MCP prompt guides Claude from spike → root-cause hypothesis → proposed patch.

  • Linear write-back

    update_linear_issue creates or updates the issue with the root cause and the proposed patch.

  • Local-first

    Runs on your machine with your own Claude client. Novix stores no code or telemetry.

Agent mode (preview)

In Development

Agent mode runs without a human in the chat. Haiku triages every spike; complex cases escalate to Sonnet with the repository context served from Claude's prompt cache. The sketch below shows the shape of the loop.

agent.tsPreview API — subject to change
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic(); // reads ANTHROPIC_API_KEY

const tools: Anthropic.Tool[] = [
  {
    name: "query_clickhouse_errors",
    description: "Find error spikes for a service in a time window.",
    input_schema: {
      type: "object",
      properties: {
        service: { type: "string" },
        window: { type: "string", description: "e.g. 5m, 1h" },
      },
      required: ["service", "window"],
    },
  },
  {
    name: "update_linear_issue",
    description: "Attach root cause and proposed patch to a Linear issue.",
    input_schema: {
      type: "object",
      properties: {
        issueId: { type: "string" },
        rootCause: { type: "string" },
        patch: { type: "string" },
      },
      required: ["issueId", "rootCause"],
    },
  },
  {
    name: "run_test_suite",
    description: "Run the project's tests against a patch in a sandbox.",
    input_schema: {
      type: "object",
      properties: { patch: { type: "string" } },
      required: ["patch"],
    },
  },
];

// 1. Fast triage of every spike on Claude Haiku
const triage = await client.messages.create({
  model: "claude-haiku-5-5",
  max_tokens: 1024,
  tools,
  messages: [{ role: "user", content: `Triage this spike:\n${spike}` }],
});

// 2. Escalate multi-file cases to Claude Sonnet,
//    with the repository context kept in the prompt cache
const fix = await client.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 8192,
  system: [
    { type: "text", text: "You are Novix Flow, an incident-resolution agent." },
    { type: "text", text: repoContext, cache_control: { type: "ephemeral" } },
  ],
  tools,
  messages: [{ role: "user", content: triageSummary }],
});

Security & data

Available in Beta
Local-first

The beta server runs on your machine. Novix stores no code, telemetry or credentials.

Available in Beta
Your Claude client

Reasoning happens in your own Claude client under your account and its data policies.

Planned
Hosted data handling

For Novix Cloud: encryption in transit and at rest, zero-retention options, VPC deployment.

Planned
Compliance program

SOC 2 program for Novix Cloud and enterprise customers.