Interactive CLI that indexes polyglot repositories into a queryable knowledge graph for AI agents
Project description
Saurix
Saurix is an interactive knowledge graph engine that transforms complex codebases into a queryable, 3D-visualizable map. It is designed to be the Symbolic Intelligence Layer for modern AI coding agents.
Why Saurix for AI Agents?
Saurix solves the "Context Window" problem for LLMs by providing a structured representation of code that is superior to keyword search:
- Structural Awareness: Understands
CALLS,INHERITS, andIMPORTSrelationships rather than just raw text. - Context Efficiency: Agents can query specific subgraphs, receiving only the architectural context they need, drastically reducing token usage.
- Blast Radius Analysis: Built-in
impactanalysis allows agents to calculate the transitive side effects of a proposed change before making it. - Native MCP Support: Built on the Model Context Protocol, allowing AI agents to treat the repository graph as an extension of their own memory.
See docs/agent-lifecycle.md for a step-by-step walkthrough of how an AI agent uses these capabilities.
1) Core Mission
- Knowledge Extraction: Turn local or GitHub repositories into a structured graph of symbols and relationships.
- Agent Infrastructure: Expose high-level tools (MCP) for autonomous agents to navigate complex architectures.
- Fast Navigation: Answer questions about dependencies, callers, and impact analysis in milliseconds.
- Modular Architecture: Built for extensibility across languages and tools.
2) Architecture
Saurix follows a clean, domain-driven modular structure designed for scale and symbolic intelligence. For a detailed breakdown of how Saurix indexes, stores, and queries code, see docs/architecture.md.
Setup & Installation
- Install Saurix:
pip install saurix
- Initialize Any Project:
cd /path/to/your/project saurix init
This command indexes your project, creates a local 3D dashboard (saurix.html), and generates your MCP config in one step.
Running the MCP Server
Expose graph tools to AI agents (e.g., Claude Desktop, Cursor):
saurix-mcp
4) Interactive Commands
| Command | Description |
|---|---|
init |
Zero-config setup for the current project |
index <source> |
Index a local path or GitHub URL |
stats |
Show graph statistics and extraction coverage |
find <query> |
Fuzzy search symbols by name or ID |
callers <sym> |
List symbols calling the target |
path <A> <B> |
Find shortest directed path between two symbols |
impact <sym> |
Estimate blast radius of a change |
visual |
Generate a hybrid 2D/3D knowledge graph visualization |
export |
Export to GraphML or Neo4j CSV |
5) AI Agent Integration (MCP)
Saurix is optimized for agentic workflows. It exposes tools that help agents understand:
- Context Discovery:
find_symbolandrelated_files. - Behavioral Mapping:
callersandpath_between. - Risk Assessment:
impact_of_symbol.
Configure your agent with the saurix-mcp entry point. Once configured, the AI client (e.g., Claude Desktop) will automatically manage the server lifecycle—starting it in the background when needed and stopping it when the app closes. No manual terminal execution is required.
6) Development
Running Tests
uv run pytest
Testing the MCP Server
You can test the MCP integration without a full IDE using the MCP Inspector:
- Install the Inspector:
npm install -g @modelcontextprotocol/inspector - Run the Server:
npx @modelcontextprotocol/inspector uv run saurix-mcp - Interact: Open
http://localhost:5173, click Connect, and use the Call Tool tab.
For step-by-step setup (Claude Desktop, Cursor, OpenCode), simply run saurix init in your project folder.
Saurix is built for the era of autonomous coding.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file saurix-0.1.1.tar.gz.
File metadata
- Download URL: saurix-0.1.1.tar.gz
- Upload date:
- Size: 105.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b69b9a8446f9e847220ae1323264a9184da4e6904222a3900266b221250394ac
|
|
| MD5 |
b378872688a6ea104b5050c79fc37c94
|
|
| BLAKE2b-256 |
9b259bef7e8c298789e8c66f3c9f9543472a059ad88063e2663cabc8b2dca7f9
|
Provenance
The following attestation bundles were made for saurix-0.1.1.tar.gz:
Publisher:
publish.yaml on anismabaziz/saurix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saurix-0.1.1.tar.gz -
Subject digest:
b69b9a8446f9e847220ae1323264a9184da4e6904222a3900266b221250394ac - Sigstore transparency entry: 1470809299
- Sigstore integration time:
-
Permalink:
anismabaziz/saurix@5272129ba42afa1fa5c8db2d9906feeb826201cd -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/anismabaziz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5272129ba42afa1fa5c8db2d9906feeb826201cd -
Trigger Event:
push
-
Statement type:
File details
Details for the file saurix-0.1.1-py3-none-any.whl.
File metadata
- Download URL: saurix-0.1.1-py3-none-any.whl
- Upload date:
- Size: 52.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32f93cd04c91b620c72e5d36127c75bee8bb337340c9b6b9e39999d2d1d948eb
|
|
| MD5 |
2d0dadcc43582299503bfe9e1b08cda6
|
|
| BLAKE2b-256 |
8671f21837a5a87c31bc4d6f538132cb0c80102bd40a53e9f52687ddaaf4fee5
|
Provenance
The following attestation bundles were made for saurix-0.1.1-py3-none-any.whl:
Publisher:
publish.yaml on anismabaziz/saurix
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
saurix-0.1.1-py3-none-any.whl -
Subject digest:
32f93cd04c91b620c72e5d36127c75bee8bb337340c9b6b9e39999d2d1d948eb - Sigstore transparency entry: 1470809426
- Sigstore integration time:
-
Permalink:
anismabaziz/saurix@5272129ba42afa1fa5c8db2d9906feeb826201cd -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/anismabaziz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@5272129ba42afa1fa5c8db2d9906feeb826201cd -
Trigger Event:
push
-
Statement type: