Back to Blog
On This Page8 sections

Key Takeaways

  • Graphify maps code relationships for AI coding agents. It helps an assistant locate relevant functions, dependencies, and source evidence before proposing changes.
  • Graphify Local and hosted Graphify serve different workflows. Local builds graphs on your machine; hosted Graphify adds managed indexing and team features.
  • The Python package is graphifyy, with two trailing y characters. The executable is graphify.
  • Code-only extraction needs no model API key. Document analysis and connected AI assistants have separate data flows and costs.
  • A graph improves navigation only when its relationships are accurate and current. Evaluate it on actual maintenance tasks before adopting it across repositories.

Updated October 30, 2026.

What Is Graphify?

Graphify is a code knowledge graph tool from Graphify Labs. It organizes source code and related information into nodes and relationships that developers and AI coding assistants can inspect.

A node might represent a function, class, file, or document concept. An edge can record a call, import, inheritance relationship, or reference. The resulting map gives an assistant a structured way to investigate a codebase.

The public Graphify repository provides the local engine and integrations for tools including Claude Code, Codex, and Cursor. Graphify also offers a hosted service.

The practical question it addresses is familiar: before changing a function, how can an assistant find the surrounding code that makes the change safe or unsafe? A relationship graph can narrow that investigation, while source inspection and tests establish whether the proposed edit is correct.

How Graphify Builds a Code Knowledge Graph

The architecture documentation describes separate structural and semantic processing paths.

  1. Extract code structure. Tree-sitter and specialized parsers identify symbols and relationships without requiring an LLM for code parsing.
  2. Resolve references. Graphify connects extracted information across files and merges it into a persistent graph.
  3. Add optional semantic context. A configured model or coding assistant can analyze documents and other supported inputs.
  4. Group related nodes. Community detection identifies densely connected areas that can help explain subsystems.
  5. Retrieve relevant evidence. Queries and graph traversal return selected relationships for an assistant to interpret.

This architecture makes repeated investigations potentially cheaper: an agent can reuse a stored map instead of rediscovering every dependency. That benefit depends on the cost of building and maintaining the map.

The supported-inputs reference lists languages including Python, JavaScript, TypeScript, PHP, Go, Rust, Java, and C++. It also covers JSX, TSX, Vue, Svelte, and Astro, with coverage varying by embedded syntax and construct. SQL and some other formats require optional dependencies.

Recognizing a file extension does not establish complete framework understanding. For a React application, for example, verify important relationships involving hooks, callbacks, routing, and generated clients against the source.

Graphify vs Grep, LSP, and Vector RAG

These approaches answer different kinds of questions. The comparison below describes their typical roles, rather than a measured ranking.

ApproachUseful questionPractical limitation
Text search with grep or ripgrepWhere does this exact string appear?Developers or agents must interpret the matches
Language server navigationWhere is this symbol defined or referenced?Coverage depends on the language server and project configuration
Vector retrievalWhich passages discuss a related concept?Semantic similarity alone does not establish a call relationship
Code knowledge graphWhich recorded dependencies connect these components?Missing, incorrect, or stale edges weaken the answer

Consider an illustrative payment feature. A search for a checkout function may locate its implementation quickly. A broader investigation might need its callers, persistence helpers, background jobs, and tests. Graph traversal can help organize that second task.

The strongest workflow combines methods: use the graph to identify candidate relationships, inspect the relevant source, and run appropriate tests. An empty graph result should trigger further investigation rather than a conclusion that no dependency exists.

Graphify Local vs Hosted Graphify

The official Local and hosted comparison separates graph ownership from managed collaboration.

AreaGraphify LocalHosted Graphify
Graph constructionRuns on your machineIndexes connected repositories
StorageLocal output filesHosted workspace
UpdatesCLI commands, watcher, or hooksManaged indexing on default-branch pushes
Assistant connectionLocal skills or MCP serverHosted MCP endpoint
Team contextFiles and configuration managed by the teamShared workspace features
Review workflowLocal graph and PR investigation toolsAutomated reviews and additional hosted capabilities

Local is a practical starting point for a single repository. Hosted Graphify becomes more relevant when maintaining indexes and sharing context create recurring work.

The hosted product also documents formal verification and shared agent memory. Installing the public Python package does not automatically provide every hosted feature.

Install Graphify and Build Your First Graph

The installation guide specifies Python 3.10 or later and supports installation with uv or pipx. With uv available, run:

bash
uv tool install graphifyy
graphify --version
graphify --help

The spelling matters: graphifyy is the official package name. Similarly named packages are separate projects.

From the repository root, build a code-only graph and generate its report and visualization:

bash
graphify extract . --code-only
graphify cluster-only . --no-label

These are separate steps in the CLI quickstart. Code-only extraction skips document and media analysis. The --no-label option avoids model-generated community names during clustering.

The resulting files include:

  • graphify-out/graph.json: the graph data.
  • graphify-out/graph.html: the interactive visualization.
  • graphify-out/GRAPH_REPORT.md: the generated report.

Open the HTML file in a browser, then inspect highly connected symbols:

bash
graphify god-nodes --top 5

Choose a known feature and verify several relationships manually. A useful first check is whether a real caller, its target, and their source locations are represented correctly. A visually impressive graph is less valuable than a small set of accurate, actionable relationships.

Query Functions, Dependencies, and Change Impact

The CLI reference documents queries, node explanations, paths, and reverse dependency traversal.

The following names are illustrative. Replace them with symbols found in your repository:

bash
graphify query "checkout createOrder" --budget 1000
graphify explain "createOrder"
graphify path "checkoutHandler" "createOrder"
graphify affected "createOrder" --depth 3 --relation calls

Use each operation deliberately:

  • query gathers a bounded subgraph around matching labels.
  • explain inspects a node and its neighbors.
  • path looks for a connection between two nodes.
  • affected follows reverse relationships to identify dependents.

The querying guide explains how to narrow graph retrieval. The CLI query matcher uses words in node labels. If a broad natural-language question produces no result, try actual identifiers or explicit seeds.

Path traversal respects stored edge direction by default. An undirected path can reveal structural connectivity, but should not be presented as an execution trace.

For scripts, documented exit codes distinguish an answer from ambiguous matches or no match: 0, 3, and 4, respectively. Handle those outcomes explicitly.

Use Graphify with Codex, Claude Code, or Cursor

The integration guide documents local skill installation and hosted MCP connections. For a local trial, choose the command for your assistant:

bash
# Codex
graphify install --project --platform codex

# Claude Code
graphify install --project --platform claude

# Cursor
graphify install --project --platform cursor

Project registration is available where supported by the installer. Review the resulting changes to agent instructions, skills, and hooks, then restart or refresh the assistant if necessary.

The skill quickstart shows this invocation for clients supporting slash commands:

/graphify .

Invocation differs by client. If the command is unavailable, ask the assistant to use the installed Graphify skill explicitly.

A useful investigation prompt is:

Use the Graphify graph to locate the checkout handler and its callers.
Check the relevant source files before drawing conclusions.
Identify missing or uncertain relationships.
List the tests that should be reviewed before changing order creation.

This keeps the assistant focused on evidence and an actionable development task.

Connect a Local Graph over MCP

Graphify's local MCP server exposes graph operations to compatible clients. Install the MCP dependency extra:

bash
uv tool install "graphifyy[mcp]"

For clients using an mcpServers configuration, the documented structure is:

json
{
  "mcpServers": {
    "graphify": {
      "command": "graphify-mcp",
      "args": ["/absolute/path/to/repo/graphify-out/graph.json"]
    }
  }
}

If uv reports that the tool is already installed, repeat the installation with --reinstall, as described in the installation guide.

Replace the example path with the existing graph's absolute path. Client configuration formats vary, so use this structure only where the client supports it.

Build the graph before connecting the server. Starting an MCP process does not establish that the graph is present or current.

Hosted Graphify uses a separate connection workflow, documented through its integration overview. Choose the connection matching where the graph actually lives.

Keep the Graph Current and Read Its Confidence Labels

Graphify queries a saved representation of the project. After source changes, refresh it:

bash
graphify update .

The incremental-update documentation distinguishes code refreshes from semantic updates to documents. It also notes that background hooks can briefly leave a query reading an older graph.

Use a .graphifyignore file to exclude irrelevant output and dependencies. A starting example is:

node_modules/
dist/
coverage/

Adapt exclusions to the project. Generated clients may contain essential dependencies, so excluding every generated file can remove evidence needed for a particular investigation.

Graphify's provenance labels describe how relationships were established:

LabelMeaningHow to use it
EXTRACTEDExplicit relationship in the analyzed inputInspect its source location
INFERREDRelationship derived through resolution or semantic analysisCheck the supporting evidence
AMBIGUOUSEvidence does not establish one clear relationshipPreserve the uncertainty and investigate

An inferred edge can come from static analysis; it does not necessarily involve an LLM. Likewise, a recorded path does not prove that a request will execute that path.

For repeatable reviews, record the repository commit and Graphify version with the evaluation. This makes stale-index mistakes easier to detect.

What Do Graphify's Benchmarks Actually Show?

The project's published benchmarks report the following results from its own evaluation harness:

EvaluationGraphifyComparatorScope
ERPNext code questions82.0% key-fact coverage70.8% with grep/read6 graded questions
LOCOMO retrieval0.497 recall@100.362 with BM25300 examples
LongMemEval-S answers76% accuracy76% with dense RAG50 examples

The ERPNext difference is 11.2 percentage points. It measures coverage of expected answer facts, not the percentage of software changes implemented correctly.

The sample size and tasks limit generalization. Memory retrieval results do not establish coding success, and comparisons against repeatedly packing a whole repository into context do not represent every efficient search workflow.

The benchmark also uses embeddings in parts of its evaluation, even though the basic structural graph does not require a vector database.

Treat these as vendor-reported results. They justify a repository-specific trial, not a guaranteed token-saving percentage.

Graphify Pricing: Free CLI and Hosted Plans

The official pricing page, checked October 30, 2026, lists these annual-billing offers:

OptionListed priceSelected conditions
Local open-source engineFree softwareYour infrastructure and optional model costs remain separate
Hosted Free$03 repositories; 25,000 nodes per repository
Hosted Pro$10 per month, billed yearlyOne developer; unlimited repositories and uncapped graph size
Hosted Teams$20 per seat per month, billed yearlyPromotional price for the first 100 teams; minimum 2 seats; page lists $28 afterward
EnterpriseCustom quoteSelf-hosting and enterprise requirements

Pro's listed annual rate totals $120 per year. At the promotional rate, two Teams seats total $480 per year.

Uncapped graph size does not mean unlimited operations: hosted plans retain build, review, and verification allowances. Check the billing interval and current limits before subscribing.

Privacy: Follow the Entire Data Path

A local graph and a local AI workflow are different things. The security documentation distinguishes local parsing, configured semantic processing, and the hosted service.

  • Code-only extraction: source parsing runs locally.
  • Semantic extraction: selected content can go to the configured model backend.
  • Connected coding assistants: retrieved graph content can be sent to the assistant's provider.
  • Hosted Graphify: repository content and derived graphs enter the hosted workflow; the documentation identifies LLM subprocessors used to produce results.

Graphify states that it does not train models on customer code. That statement should be read alongside the applicable service terms and each connected assistant's data policy.

For private projects, inspect generated graph files before sharing them. Function names, architecture details, source references, and saved notes may themselves be confidential, even when the original repository remains private.

Formal Verification Has a Defined Scope

Hosted Graphify's verification documentation describes comparisons between changed functions and their previous implementations.

Its outcomes distinguish bounded equivalence, a distinguishing input, no sampled divergence, unsupported cases, and errors.

Two distinctions matter:

  • No sampled difference is weaker than a proof. Tested inputs may not cover other behaviors.
  • Equivalent behavior is different from correct requirements. Preserving an old implementation can also preserve an existing defect.

A completed verification run can contain unsupported or failed functions. Inspect the per-function results, analysis bounds, and any reproduced counterexample before using the result in a merge decision.

Graphify Alternatives Worth Comparing

These tools overlap substantially. The practical differences below reflect their documented features, with suggested evaluation priorities rather than a benchmark ranking.

ToolDocumented emphasisWhat to evaluate
GitNexusSymbol graphs, execution-flow exploration, impact analysis, CLI, and MCPAccuracy of paths and impact results on representative changes
Understand AnythingInteractive graphs, explanations, guided tours, and business-domain viewsWhether the explanations improve onboarding; initial analysis cost
CodeGraphLocal code indexing, automatic synchronization, and agent integrationSynchronization reliability and relevance of retrieved context

Graphify is worth including when persistent relationship evidence and a choice of local or managed operation fit the workflow. Compare current licenses, supported constructs, and data handling separately from the feature list.

How to Evaluate Graphify on a Real Project

Use a fixed repository commit, the same model, and comparable budgets. Run the tasks both with Graphify and with the assistant's ordinary tools.

Choose tasks that require different kinds of evidence:

  1. Trace a feature: explain how a request reaches persistence, citing files and symbols.
  2. Assess a change: identify callers affected by a shared function's signature change.
  3. Locate a defect: find an incorrect assumption spanning multiple modules.
  4. Validate an edit: implement a small change and run the relevant tests.

Measure outcomes before celebrating efficiency:

MetricWhy it matters
Correct facts and missed dependenciesTests whether the context is useful
Passing task-specific checksConnects retrieval to working software
Total input and output tokensCaptures the complete session
Wall-clock timeIncludes indexing, querying, and agent work
Index maintenance effortExposes the recurring operational cost

Repeat tasks enough to distinguish consistent improvement from a fortunate run. Report initial builds separately from reuse of an existing graph.

An evaluation should count indexing, refreshes, model calls, and human verification. A reduction in file reads alone is not proof of lower total cost.

Frequently Asked Questions

Is Graphify an AI IDE?

Graphify supplies code context and graph tools. Developers connect it to an editor or coding assistant rather than use it as a complete IDE replacement.

Can Graphify run without an API key?

Yes. The documented code-only extraction and local graph-query workflow do not require a model API key. Semantic processing and AI-assisted interpretation are separate.

Can it understand an entire application perfectly?

No completeness guarantee follows from producing a graph. Dynamic behavior, unsupported constructs, missing inputs, and stale data can leave gaps.

Is it useful for a small repository?

It can be, but a trial should demonstrate a benefit. If ordinary search already resolves the relevant tasks quickly, index maintenance may add little value.

Does MCP automatically keep the graph updated?

A connection exposes graph tools. Freshness depends on the update mechanism behind that connection.

Conclusion

Graphify offers a reusable map for investigating code relationships with AI coding assistants. Its value depends on whether that map helps developers find accurate evidence, make better changes, and spend less effort rebuilding context.

Start with one repository and one cross-file task. Follow the local CLI quickstart, inspect the relationships it produces, and compare the result with the assistant's existing workflow. Expand adoption when the improvement is visible in correctness, maintenance effort, or total task cost.

Share this article

Referenced Tools

Browse entries that are adjacent to the topics covered in this article.

Explore directory