immutlex immutlex Graph Explorer
< back to immutlex
immutlex add-on

Code intelligence for AI agents, graph database for everything else.

Your agent can write code but doesn't understand how your codebase works. It doesn't know what calls what, what breaks if you change something, which tests cover a function, or who last touched a file. fsgdb fixes that: 34 MCP tools give any agent instant structural understanding from local tree-sitter parsing and graph queries. No cloud, no indexing service, no telemetry.

agent <-> fsgdb
Agent: "What happens if I change src/auth/token.rs?"

fsgdb: 14 files import this module
  3 functions call validate_token() directly
  jwt_middleware.rs and api_routes.rs are transitively affected
  2 test files cover this code
  last modified 3 days ago - "Add token refresh logic"
  complexity: 8 (moderate)
A human and an agent evaluate an unfamiliar codebase (Servo) from one shared graph - CLI, query editor, graph view, then agent deep-dive.
34 MCP tools Cypher + Bolt v4.4/5.x local tree-sitter Rust, Python, JS, TS zero telemetry
Not just MCP tooling

Under the hood it's a graph database.

The 34 tools cover the common questions, but you're not locked into MCP. fsgdb is a production Cypher-compatible graph database with a Bolt v4.4/5.x server - so the same graph answers raw Cypher from Neo4j Browser, Memgraph clients, and the official drivers too. Full language support, not a subset: 2,300+ Cypher features validated.

cypher
-- Complex functions with no test coverage
MATCH (fn:RustFunction)
WHERE fn.cyclomatic_complexity > 10
  AND NOT EXISTS(()-[:TESTS]->(fn))
RETURN fn.name, fn.file_path
ORDER BY fn.cyclomatic_complexity DESC
fsgdb VS Code Cypher query editor running MATCH (f:File) RETURN f.name, f.path over the Servo codebase, with a results table and a Bolt: Connected status
Same graph, raw Cypher: a MATCH query returns rows in 111ms with live performance metrics. Export to CSV or JSON.
One graph, five surfaces

Scan once. Reach the same model from anywhere.

tree-sitter parses your code into a typed property graph once; every interface reads the same model. MCP for your agent, Bolt for clients, a CLI for scripts, a VS Code extension, and a graph explorer that runs in your browser or as a native desktop app.

Browser explorer: scan a directory, watch the graph build.

Explore the graph in your browser

A hosted explorer lives at explorer.immutlex.dev. It's a thin client that ships no database - run the embedded server locally and the page talks to your own machine, so your graph never leaves it. It's an installable PWA: add it to your dock and open straight to your graph.

Desktop app: the same explorer in a native window.

Or as a native desktop app

The same UI ships as a native desktop application - fly through labeled modules, hover a node to see its connections, filter by dependency strength. One explorer, two shells: browser or desktop, both pointed at your local graph.

VS Code extension: graph, Cypher editor, and more, in-editor.

Inside your editor

The VS Code extension brings 10 interactive panels into the editor: graph visualization, a Cypher editor, schema browser, search, git insights, code quality, impact analysis, path info, and dependencies - with real-time updates as files change.

The fsgdb CLI printing graph schema and stats, then a Cypher query result table
CLI: inspect the graph straight from the terminal.

From the command line

Scan, query, and export from scripts and CI. Inspect schema and stats, run targeted Cypher, sync GitHub issues and PRs into the graph, or export the whole workspace as immutlex-compatible markdown - all from one binary.

An AI agent calling fsgdb MCP tools and assembling a structural analysis of a codebase with file paths, hook points, and risks
Agent over MCP: structural answers, grounded in the graph.

Your agent, with a brain

Add fsgdb to your MCP config and your agent traces real entry points, dependencies, call paths, tests, and change risk - following how the code is actually connected instead of guessing from filenames. stdio for a single agent, HTTP transport when several agents share one warm graph.

What your agent can ask

34 tools across eight categories.

Structure & search
  • scan_workspace, delta_scan
  • search_files, search_symbols
  • semantic_search
  • get_file_structure, get_schema
Code flow
  • get_call_graph, find_references
  • find_dependencies, find_path
  • get_cross_language_calls
  • explain_function, explain_module
Impact & risk
  • analyze_impact
  • get_affected_tests
  • find_dead_code
  • get_complexity_metrics
Test coverage
  • get_tests_for_function
  • get_test_coverage
  • get_affected_tests
Git history
  • get_authors, get_file_blame
  • get_hotspots, get_commits
  • get_function_history
  • get_changes_since
Cluster & replication
  • register / show replicas
  • write-primary, read-replica
  • WAL-based catchup
Graph & admin
  • query (raw Cypher)
  • get_stats, add_labels
  • export_workspace
  • sync_github_issues
Docs & license
  • get_documentation_coverage
  • license_info
Beyond code

It maps your data lineage too.

fsgdb reads lineage from artifacts already in the repo - it stays a filesystem-only tool with no warehouse connection and no network. dbt manifests become model and source nodes; SQL files and embedded ETL queries are parsed into produces / reads-from / writes-to edges with column-level detail; an external catalog file can describe warehouse-only tables.

>
Because the producing code file is wired straight to the table it writes, analyze_impact crosses the code-to-data seam: "if I change this dbt model or ETL job, which downstream tables break?" is the same graph walk that already answers code impact.
Search

Natural-language code search, fully local.

semantic_search fuses lexical BM25 keyword search with HNSW vector similarity using Reciprocal Rank Fusion - so "where do we validate tokens?" finds the right code even when the words don't match. The embedding models are baked into the binary: no downloads, no external services, no API keys.

BM25 lexical HNSW vector RRF fusion models in the binary offline
Build on it

Clients for Python, TypeScript, and VS Code.

Both clients expose the same Bolt surface - 29 typed convenience methods for the common analysis procedures, plus raw Cypher for everything else.

Python

pip install fsgdb-client

Async driver with typed helpers: hotspots, dead code, call graphs, affected tests.

TypeScript

npm install @fsgdb/client

The same 29 procedure helpers, fully typed, over Bolt.

VS Code

.vsix install

10 interactive panels with live updates as the filesystem changes.

Built for production

Secure, fast, and durable by design.

112x

faster equality filters with an index. Cost-based planner with plan caching and streaming for large result sets.

AES-256

GCM encryption at rest, TLS transport, RBAC auth. Ed25519-signed license keys, verified offline against an embedded public key.

2,856

tests over 111K lines of Rust. petgraph in memory, redb ACID on disk, write-ahead log for crash recovery.

3

container images (general, write-primary, read-replica) with health endpoints for write/read replication.

Works with immutlex - no coupling

The only tie is the format: plain markdown.

fsgdb is useful entirely on its own. What lets it pair with immutlex isn't a dependency, it's a format - export_workspace emits the graph as immutlex-compatible markdown: frontmatter plus a workspace index that cross-links every module, ready to drop into immutlex or read anywhere your agent already looks. Use it with immutlex, use it without it.

  • Shared markdown. Linked .md with frontmatter and cross-links lands in the immutlex graph fully formed.
  • Shared shell lineage. The optional fsgdb shell context anchor uses the same keystroke-aware state machine as immutlex-shell, in one binary.
  • Same philosophy. Local-first, single binary, zero telemetry - the same way immutlex runs.
After checkout

One email, one command, your key.

Subscribe and you get an email with a one-line installer and your license key. The installer pulls the signed binary for your platform (Linux, macOS, Windows), verifies its signature, and drops fsgdb on your PATH. Set the key and your agent is mapping the codebase.

1. Subscribe

$69/mo flat. Your license + install command land in your inbox.

2. Install

curl ... | sh from the email - detects your OS, verifies the signed bundle, installs fsgdb.

3. Activate

Set FSGDB_LICENSE_KEY or drop a .env.license file. The key is verified offline; it refreshes each period while you subscribe.

Add it to your stack

Give your agent a map of the codebase.

A flat-priced immutlex add-on that stands on its own. Local-first, dual-licensed (AGPL-3.0 or commercial).

$69 / mo - flat