Code intelligence for agents

Stop letting agents
guess from grep.

glyphtrail indexes your codebase into a queryable graph, then hands coding agents exact answers: who calls this, what depends on it, and the blast radius of changing it - even across repositories. All local, over CLI and MCP.

  • Runs locally
  • Rust-native
  • Graph-powered
  • MCP-native
Without a map

grep "handleAuth"

27 text matches across 14 files. No idea which are calls, which are comments, or what breaks if you touch it. The agent picks one and hopes.

With glyphtrail

glyphtrail impact handleAuth

3 direct callers, 1 trait impl, 2 transitive dependents across 2 crates. Exact symbols, exact locations. The agent edits knowing the radius.

Features

A structural index, not a search box

Agents are good at reasoning and bad at remembering where things live. glyphtrail gives them ground truth about the code instead of a pile of text matches.

Typed symbol graph

Functions, methods, structs, classes and traits with their calls, imports, inheritance and implements edges - one navigable graph.

Blast-radius analysis

Before an agent edits a symbol, ask what touches it. Seed impact from a symbol, a file, or a git diff and walk the transitive radius.

Cross-repo impact

Register your repos once and trace a change across them. When a crate other repos depend on changes, see which break and where.

Query in Cypher

Backed by a native graph database. Find definitions, callers, callees, neighbours and full-text matches with real graph traversal.

Local & private

The whole pipeline runs on your machine. .gitignore, .aiignore and an ignore list keep secrets out of the index entirely.

MCP server built in

Expose the graph to Claude and any MCP client as first-class tools. Agents query structure instead of guessing from grep.

Incremental & Rust-fast

Native Rust, no runtime. Re-analyze only the files that changed and query the graph in milliseconds.

Multi-language

Rust, Python, JS, TS/TSX, Go, Java, C, C++, C#, Ruby and Kotlin, parsed with Tree-sitter - one query surface across the stack.

How it works

From source files to queryable graph

A seven-stage pipeline turns a repository into a graph and vector store you can ask questions of. Re-runs are incremental.

  1. 01

    Discover

    Walk the tree, honouring .gitignore and ignore lists.

  2. 02

    Parse

    Tree-sitter turns each file into an AST.

  3. 03

    Extract

    Pull out symbols: functions, types, classes, comments.

  4. 04

    Link

    Build calls, imports, implements and inheritance edges.

  5. 05

    Store

    Persist to a native graph database, per repo.

  6. 06

    Query

    Answer in Cypher over CLI or MCP, in milliseconds.

  7. 07

    Trace

    Federate the graph across repos for blast radius.

Command line

One binary. Index, then ask.

Point glyphtrail at a repo and it builds the index. From there, every question is a subcommand - and the same answers stream to your agent over MCP.

query callers — who invokes a function
query neighbors — direct graph neighbours
query search — names and doc comments
impact — the blast radius of a change
glyphtrail
$ glyphtrail analyze .
  parsed 412 files · 6,840 symbols · 11,209 edges
  ✓ graph ready in 1.8s

$ glyphtrail impact TokenStore
callers      3   auth::login, auth::refresh, mw::guard
implements   1   trait SessionBacking
dependents   2   crate::api, crate::worker
  ⚠ 6 symbols in blast radius

$ glyphtrail mcp
  MCP server on stdio · query · impact · endpoints
MCP integration

Tools your agent can actually call

Start the MCP server and the graph becomes a toolset. Claude and other MCP clients query structure directly - no copy-pasting code into context.

query Graph lookups: def, callers, callees, neighbours, search
impact Blast radius for a symbol, file or diff - across repos
endpoints The API and route surface of the codebase
list_repos The registry powering cross-repo impact

Give your agent a map of the code.

glyphtrail is open source and runs entirely on your machine. Clone it, index a repo, and wire it into your agent over MCP.