Astria

Official registry Other

Turn any codebase into a queryable knowledge graph — offline-first, zero API keys.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package @nodesify/astria
Claude Code
claude mcp add astria -- npx -y @nodesify/astria@1.4.0
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "astria": {
            "command": "npx",
            "args": [
                "-y",
                "@nodesify/astria@1.4.0"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. astria
  2. Install
  3. Use the graph
  4. Guides and evidence
  5. Architecture and languages
  6. Build from source
  7. License

astria

Knowledge graph builder for codebases

Docs | Getting started | CLI Reference | Architecture | Worked examples | Changelog | Release notes | Security

Built by Nodesify

Find an implementation, inspect its relationships, and assess a change before editing. Astria builds a local SQLite knowledge graph with deterministic Rust/tree-sitter extraction. CLI and MCP queries use the same retrieval engine; source locations and evidence classes make results inspectable. Structural analysis needs no API key. Local embeddings and remote semantic enrichment are optional.

Install

npm install -g @nodesify/astria

Node.js >= 22 is required. Prebuilt native binaries ship with the package; installation needs no Rust toolchain. macOS/Linux can also use brew install nodesify/tap/astria (tap).

Intel Mac (darwin-x64), musl Linux and windows-arm64 builds omit local embeddings because ONNX Runtime has no prebuilt runtime there. Structural analysis works; run --embed reports that embeddings are unsupported. Check astria stats --json for embeddingsSupported.

Use the graph

astria run .                                # build .astria/
astria map                                  # orient by source modules
astria query "where is request authentication implemented"
astria explain <node-id>                     # inspect a returned symbol
astria path <caller-id> <callee-id>           # follow relationships
astria affected <node-id>                    # assess a proposed change
astria update .                              # refresh after editing

Use node IDs returned by the graph. Confirm important results against the linked source: name-derived call/import bindings are RESOLVED, and ambiguous targets remain INFERRED. --detail high restricts traversal to EXTRACTED/DECLARED facts. affected reports graph reachability; it cannot prove runtime behavior.

Exclude files with .astriaignore (gitignore syntax). Graphs and reports live under .astria/; read graph_report.md for orientation. Unchanged source reuses extraction caches, while updates reconcile references across the current corpus. After upgrading, run astria update . to refresh cached extraction for qualified call targets.

Guides and evidence

The evaluation harness separates file and declaration retrieval, delivered tokens, search/read cost and graph build time. Historical comparisons used tiny, exercised external sets and a single-pass search floor. New Requests and Commander questions are source-grounded, agent-authored, reserved and unexercised until their first explicit evaluation. No result establishes broad superiority or savings over a complete agent task.

Architecture and languages

Rust workspace with 20 crates plus a Node.js CLI. Uses 42 registered language configurations; exact parser coverage and optional lang-* build features are described in language support. See ARCHITECTURE.md for pipeline, caching and evidence contracts.

Astria is an independent implementation inspired by Graphify, and is not affiliated with or endorsed by that project.

Build from source

# Build Rust core
cargo build --release

# Copy the native library for the source CLI (Linux)
mkdir -p packages/astria-cli/dist
cp target/release/libastria_napi.so packages/astria-cli/dist/astria.node

# Build Node.js CLI
cd packages/astria-cli && npm ci && npm run build

See Contributing for macOS and Windows native artifact paths.

Requires Rust 1.88+ (declared as rust-version in the workspace) and Node.js >= 22.

License

MIT — see LICENSE.

Contributions are welcome and accepted under the Contributor License Agreement — see CONTRIBUTING.md to get started.

Installation defaults to project scope: astria install --platform codex --scope project. Use --scope user explicitly for user-wide integrations. Run astria doctor after setup or upgrades. See the installation lifecycle guide for supported platforms, upgrade, backup/restore and complete removal.

Frequently asked questions

What is Astria?

Turn any codebase into a queryable knowledge graph — offline-first, zero API keys.

How do I install Astria?

It runs on your machine. In Claude Code: claude mcp add astria -- npx -y @nodesify/astria@1.4.0. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Astria need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is Astria open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Astria?

It is published by Nodesify. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.