Skip to content
Canopy is in pre-release. These docs describe the product at its public launch — commands, tool names, and integration examples reflect what you'll see once binaries ship. Join the waitlist →

Concepts

This section explains the ideas behind Canopy. Read these if you want to understand what’s happening under the hood — why the product works the way it does, what its limits are, and how to reason about it.

  1. What Canopy Is and Isn’t — positioning: a local code-intelligence engine with one answer tool, the benchmark evidence, and what Canopy deliberately is not.

  2. How Canopy Works — the pipeline: one local index (AST symbols, import graph, full-text, embeddings, optional summaries), one routed answer call, one server-side recipe.

  3. AST Parsing — why Canopy indexes ASTs instead of grepping text, the 55+ languages and formats it extracts symbols and imports from, and the limits of static analysis.

  4. MCP Protocol — what the Model Context Protocol is, how Canopy serves it over stdio, and why the server exposes exactly one tool.

  5. License and Privacy — exactly what Canopy sends over the network (one weekly heartbeat), what it doesn’t (your code, queries, file paths), and the air-gapped option.

  6. Machine Fingerprints and Bindings — how licenses bind to machines, what gets hashed, and how stale bindings are evicted.

  7. One Tool: canopy_answer — the whole MCP surface: the fourteen question shapes, the deterministic router (360/360 on its labelled corpus), and the honest no-match behavior.

  8. Phrasing Picks the Recipe — how to ask so the router locks on: name the entity type, backtick paths and symbols, with good/weak phrasing pairs for every shape.