<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Graphify Labs Inc</title>
    <description>The latest articles on DEV Community by Graphify Labs Inc (graphify).</description>
    <link>https://dev.to/graphify</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F15091%2F831bf484-c707-431a-85cf-c12370867d8b.png</url>
      <title>DEV Community: Graphify Labs Inc</title>
      <link>https://dev.to/graphify</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/graphify"/>
    <language>en</language>
    <item>
      <title>Grounded answers: how Graphify tags what it knows</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:27:07 +0000</pubDate>
      <link>https://dev.to/graphify/grounded-answers-how-graphify-tags-what-it-knows-51g9</link>
      <guid>https://dev.to/graphify/grounded-answers-how-graphify-tags-what-it-knows-51g9</guid>
      <description>&lt;p&gt;Confidence tags on a Graphify graph say how each edge was established, before an agent follows it. EXTRACTED means tree-sitter found the call, import, or definition in the syntax tree. INFERRED means a model connected it. AMBIGUOUS means the evidence did not resolve, and the edge stays flagged. Read the tag before you trust the hop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do the confidence tags mean?
&lt;/h2&gt;

&lt;p&gt;A &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt; stores functions, classes, and docs as nodes. Calls, imports, and references are the edges between them. The edge is the claim the assistant walks. &lt;a href="https://graphify.com/glossary/confidence-tags" rel="noopener noreferrer"&gt;Confidence tags&lt;/a&gt; are the label on that claim. &lt;a href="https://graphify.com/concepts" rel="noopener noreferrer"&gt;How Graphify works&lt;/a&gt; builds the graph in two stages, and the tag says which stage produced the edge.&lt;/p&gt;

&lt;p&gt;EXTRACTED comes from the syntax tree. Graphify parses code on the machine with tree-sitter. The parser finds the call, the import, or the definition, and that edge is deterministic. Parse the same file again and the parser finds the same edge. No model sits in that step. The Cursor integration describes this tag as parsed from the AST.&lt;/p&gt;

&lt;p&gt;INFERRED is a connection a model made. Docs, PDFs, SQL schemas, and Terraform are not a tree of calls. The model you configure joins a doc page to the service it describes, or a Terraform resource to the code that uses it. Those edges are usually right. They are still a judgment, and the tag says so. A plausible link can be wrong. The tag is how you see that the link was proposed.&lt;/p&gt;

&lt;p&gt;AMBIGUOUS means Graphify found evidence and could not resolve it. The cases named in the glossary are dynamic dispatch, reflection, and an import built from a string. The edge stays in the graph with the flag, so the unresolved link is visible as unresolved.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;graphify explain&lt;/code&gt; shows how each connection on a node was established. &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt; separates the architecture the parser extracted from the connections the model proposed. Over MCP, &lt;code&gt;graph_stats&lt;/code&gt; and the confidence audit in the report break the graph down by the three tags, so you can see how much of the map is parsed fact.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why should an agent read the tag before the next hop?
&lt;/h2&gt;

&lt;p&gt;An answer from the graph is a path. Each hop names a file and a line, and the edge on that hop carries one tag. The tags are different evidence. A caller the parser found and a doc the model attached can both appear in the same path, and the output keeps them distinct.&lt;/p&gt;

&lt;p&gt;Treat every hop as fact and an INFERRED link gets the same weight as an EXTRACTED call. That is how a guessed connection becomes an edit. The glossary uses this picture: the payment worker depends on the sessions table. You want to see whether the parser found that, or a model inferred it, before you change the code.&lt;/p&gt;

&lt;p&gt;Lean on an EXTRACTED hop when you change code. Treat an INFERRED hop as a lead, and open the doc and the symbol. Treat an AMBIGUOUS hop as a place to read the source, because the evidence stopped short of a resolved link.&lt;/p&gt;

&lt;p&gt;A similarity score says two chunks resemble each other. It does not record whether a relationship was parsed or proposed. That difference is the subject of &lt;a href="https://graphify.com/blog/code-knowledge-graph-vs-rag" rel="noopener noreferrer"&gt;Code knowledge graph vs RAG&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where do confidence tags not help?
&lt;/h2&gt;

&lt;p&gt;The tag describes an edge. It does not answer "find this string." Grep returns the lines that contain the string. A misspelled word in a comment, or a URL in a config file, is that question. Grep answers the hop you can phrase as a string. A tag will not.&lt;/p&gt;

&lt;p&gt;Fuzzy search over a large body of prose is the other miss. Embeddings are the better tool there, and Graphify does not try to beat them. A tag will not find the paragraph that only resembles the question.&lt;/p&gt;

&lt;h2&gt;
  
  
  What runs on the machine?
&lt;/h2&gt;

&lt;p&gt;The open-source engine is Apache 2.0. Code parsing happens on your machine. There is no telemetry. INFERRED edges use the model backend you configure, and that backend can be a local one, so the judgment can stay on the machine too. The graph is files in &lt;code&gt;graphify-out/&lt;/code&gt;: &lt;code&gt;graph.html&lt;/code&gt;, &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt;, and &lt;code&gt;graph.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt; hosts the same kind of graph and keeps it current. It is a different product.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The package on PyPI is &lt;code&gt;graphifyy&lt;/code&gt; (two y's). &lt;code&gt;pipx install graphifyy&lt;/code&gt; also works. Then &lt;code&gt;graphify install&lt;/code&gt;, and in the assistant &lt;code&gt;/graphify .&lt;/code&gt;. The command reference is in the &lt;a href="https://docs.graphify.com" rel="noopener noreferrer"&gt;docs&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>rag</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Why graphs beat vectors for agent memory</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:26:57 +0000</pubDate>
      <link>https://dev.to/graphify/why-graphs-beat-vectors-for-agent-memory-m4a</link>
      <guid>https://dev.to/graphify/why-graphs-beat-vectors-for-agent-memory-m4a</guid>
      <description>&lt;p&gt;A code graph stores the calls and imports in a codebase, and the assistant still has them next session. A vector database stores text that resembles the question, then searches again. The code graph vs vector database difference is what the assistant remembers.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does a code graph differ from a vector database?
&lt;/h2&gt;

&lt;p&gt;A code graph stores typed entities and the relationships between them. A &lt;a href="https://graphify.com/glossary/knowledge-graph" rel="noopener noreferrer"&gt;Knowledge graph&lt;/a&gt; is that structure. The entities are the things in the repo. The edges are how they connect, and an assistant can traverse them. A vector database stores embeddings and metadata filters. A filter limits which vectors return. The relationship lives on the graph as an edge, and that edge is still there when the assistant starts again.&lt;/p&gt;

&lt;p&gt;How similarity and structure compare as ways to fetch an answer is in &lt;a href="https://graphify.com/blog/code-knowledge-graph-vs-rag" rel="noopener noreferrer"&gt;Code knowledge graph vs RAG&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does a query return?
&lt;/h2&gt;

&lt;p&gt;A graph query is a typed, multi-hop traversal. The assistant follows edges of a given type, one hop after another. A vector query is approximate nearest-neighbour search, a top-k of the chunks whose embeddings sit nearest the question.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/vs/vector-databases" rel="noopener noreferrer"&gt;Graphify vs vector databases&lt;/a&gt; sets the two side by side. Pinecone, Weaviate, and pgvector return the most similar vectors. The graph returns the entities and the relationships between them. For an assistant, that result is the memory.&lt;/p&gt;

&lt;h2&gt;
  
  
  What happens on the second hop?
&lt;/h2&gt;

&lt;p&gt;The gap shows up when a question has two steps. A top-k lookup is one round of nearest-neighbour search, so a second hop needs the first answer before it can even be phrased. The model is left stitching disconnected chunks together.&lt;/p&gt;

&lt;p&gt;On a graph the second hop is one more edge. A later session follows that same edge, because the edge was stored with the graph.&lt;/p&gt;

&lt;h2&gt;
  
  
  What stays when a file changes?
&lt;/h2&gt;

&lt;p&gt;Changing a file means re-embedding and upserting every chunk it touched before any of it can be retrieved again. Graphify re-parses that one file and updates its nodes. The edges that did not change stay. The cost of keeping current is the size of the change, not the size of the repository.&lt;/p&gt;

&lt;p&gt;Inside the assistant, the command is &lt;code&gt;/graphify . --update&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can you check an answer?
&lt;/h2&gt;

&lt;p&gt;A vector result comes with a similarity score. The score measures how near two vectors were. A graph result is the path the answer took. Every edge on that path carries a confidence tag: EXTRACTED, INFERRED, or AMBIGUOUS.&lt;/p&gt;

&lt;p&gt;The tag is stored on the edge, so the next session can read that path.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where does the text go?
&lt;/h2&gt;

&lt;p&gt;Vector data is often shipped to an embedding API. Graphify is on-device, and it sends no telemetry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where does a vector database still win?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://graphify.com/vs/vector-databases" rel="noopener noreferrer"&gt;Graphify vs vector databases&lt;/a&gt; has nine rows. Eight of them are a real difference. The ninth is the one they win. A vector index answers what looks like this, and for fuzzy similarity over large volumes of prose it is still the better tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can you run both?
&lt;/h2&gt;

&lt;p&gt;You can run both. Some teams keep a vector index for semantic recall and use Graphify for structure. Graphify can store embeddings as node attributes, so similarity stays one signal inside a traversal.&lt;/p&gt;

&lt;p&gt;Hybrid search blends keyword and vector scores. What comes back is still a ranked list of disconnected chunks. A graph returns connected entities, and the structure survives retrieval. &lt;a href="https://graphify.com/vs/rag" rel="noopener noreferrer"&gt;Graphify vs RAG&lt;/a&gt; is that choice for a retrieval pipeline. After the session ends, those connections are on the graph.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does Graphify replace Pinecone, Weaviate, or pgvector?
&lt;/h2&gt;

&lt;p&gt;As coding-assistant memory, retrieval becomes a traversal over typed edges. The answer arrives as connected entities, and the path is there to read. Graphify does not replace Pinecone, Weaviate, or pgvector for every workload. Those products keep their place for pure similarity, and Graphify runs alongside them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is Graphify a graph database like Neo4j?
&lt;/h2&gt;

&lt;p&gt;Graphify is a memory layer. It builds the graph from your codebase and serves it over MCP and the CLI. There is no schema to model and no queries to write. If you already run Neo4j or FalkorDB, it exports into them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Proof
&lt;/h2&gt;

&lt;p&gt;Steve Scargall, at MemVerge, reported 79× fewer tokens on a 496K-token codebase, with no vector database in the stack. That is his measurement, not a Graphify benchmark.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;

&lt;p&gt;The package on PyPI is &lt;code&gt;graphifyy&lt;/code&gt;. Install the CLI, then register it with your assistant.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the project, build the graph.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/graphify .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>ai</category>
      <category>rag</category>
      <category>agents</category>
      <category>llm</category>
    </item>
    <item>
      <title>How to give GitHub Copilot codebase context that persists</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:26:29 +0000</pubDate>
      <link>https://dev.to/graphify/how-to-give-github-copilot-codebase-context-that-persists-4f0f</link>
      <guid>https://dev.to/graphify/how-to-give-github-copilot-codebase-context-that-persists-4f0f</guid>
      <description>&lt;p&gt;GitHub Copilot codebase context vanishes when the chat ends, because each session starts from zero and Copilot searches the repo again. A graph built once on your machine is a map Copilot can query the next time. Graphify builds that graph and registers it with Copilot.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you give GitHub Copilot codebase context?
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://graphify.com/integrations/github-copilot" rel="noopener noreferrer"&gt;GitHub Copilot integration&lt;/a&gt; page wires this in two commands, then a graph of the repo. The package on PyPI is &lt;code&gt;graphifyy&lt;/code&gt; (two y's).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;pipx install graphifyy&lt;/code&gt; also works.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;graphify install&lt;/code&gt; registers the &lt;code&gt;/graphify&lt;/code&gt; skill and an MCP server, so Copilot can query the graph. Graphify speaks the &lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt;. Any MCP client talks to the same server and the same ten graph tools. The integration page points at the docs for how to point Copilot at that server.&lt;/p&gt;

&lt;p&gt;Build the graph on the project you have open. In Copilot, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/graphify .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tree-sitter parses the code locally, so call and import edges come from the syntax tree. Docs and other non-code files are read by the model you already use. The map lands in &lt;code&gt;graphify-out/&lt;/code&gt; as &lt;code&gt;graph.html&lt;/code&gt;, &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt;, and &lt;code&gt;graph.json&lt;/code&gt;. The next session queries those files. The architecture is already on disk.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://graphify.com/glossary/knowledge-graph" rel="noopener noreferrer"&gt;knowledge graph&lt;/a&gt; here means entities and the typed relationships between them. The same shape of setup for Cursor is &lt;a href="https://graphify.com/blog/how-to-give-cursor-a-code-knowledge-graph" rel="noopener noreferrer"&gt;How to give Cursor a code knowledge graph&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What can Copilot ask once the graph exists?
&lt;/h2&gt;

&lt;p&gt;The questions on the integration page are the ones that used to mean reading a large slice of the repo. What calls &lt;code&gt;chargeCustomer&lt;/code&gt;, and what breaks if the signature changes. The path from a checkout endpoint to the table it writes. Which modules read a config value such as &lt;code&gt;STRIPE_KEY&lt;/code&gt;. How the auth subsystem hangs together before you touch it.&lt;/p&gt;

&lt;p&gt;You can run the same questions from the shell. The page names these commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify query &lt;span class="s2"&gt;"what calls chargeCustomer"&lt;/span&gt;
graphify path &lt;span class="s2"&gt;"checkout"&lt;/span&gt; &lt;span class="s2"&gt;"database"&lt;/span&gt;
graphify explain &lt;span class="s2"&gt;"AuthService"&lt;/span&gt;
graphify prs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;graphify query&lt;/code&gt; returns a scoped piece of the graph. &lt;code&gt;graphify path&lt;/code&gt; walks the hops between two nodes. &lt;code&gt;graphify explain&lt;/code&gt; lists the edges on one symbol. &lt;code&gt;graphify prs&lt;/code&gt; is the pull-request command listed beside them. The docs cover its flags.&lt;/p&gt;

&lt;p&gt;Every edge Copilot gets back carries a confidence tag. EXTRACTED was parsed from the AST with tree-sitter. INFERRED means a model connected non-code material, such as a doc to the service it describes, and the tag marks that judgment. AMBIGUOUS means there was evidence and it could not be fully resolved, as with dynamic dispatch or an import built from a string. The edge is kept and flagged.&lt;/p&gt;

&lt;p&gt;When Copilot returns a path, open the file and line on the hop you are about to trust, and read the tag on that edge. An EXTRACTED edge is the parser. An INFERRED edge is the model joining a doc or a schema to code. It can be wrong and still sound plausible. An AMBIGUOUS edge is unresolved evidence, kept so the gap stays visible. The integration page describes the return value as connected structure, a path, which still holds past one or two hops. A pile of matching files, with the links guessed in the chat, is the loop this replaces.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the graph leave to you?
&lt;/h2&gt;

&lt;p&gt;The graph does not update itself. After the code changes, run &lt;code&gt;/graphify .&lt;/code&gt; again, or &lt;code&gt;/graphify . --update&lt;/code&gt; to re-scan only what changed. From the shell, &lt;code&gt;graphify update .&lt;/code&gt; does that pass. &lt;code&gt;graphify hook install&lt;/code&gt; adds post-commit and post-checkout git hooks that refresh the changed files. Until you refresh, Copilot is reading the last map you built.&lt;/p&gt;

&lt;p&gt;Grep still wins when the question is "find this string." The graph is for relationships. A literal string in a comment is still a search.&lt;/p&gt;

&lt;p&gt;The open-source engine runs on your machine. Code parsing is local. There is no telemetry. &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt; is the hosted graph. This guide is the on-device setup. Cloud is a different product.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you confirm it is wired?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, in Copilot:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/graphify .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command reference is in the &lt;a href="https://docs.graphify.com" rel="noopener noreferrer"&gt;docs&lt;/a&gt;. Copilot-specific notes stay on the &lt;a href="https://graphify.com/integrations/github-copilot" rel="noopener noreferrer"&gt;GitHub Copilot integration&lt;/a&gt; page.&lt;/p&gt;

</description>
      <category>githubcopilot</category>
      <category>ai</category>
      <category>devtools</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Best codebase-context tools for AI coding assistants (2026)</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:26:19 +0000</pubDate>
      <link>https://dev.to/graphify/best-codebase-context-tools-for-ai-coding-assistants-2026-1j7p</link>
      <guid>https://dev.to/graphify/best-codebase-context-tools-for-ai-coding-assistants-2026-1j7p</guid>
      <description>&lt;p&gt;The best codebase context tools depend on the question you are asking. Grep finds a string. Embeddings, RAG, and a vector database find prose that resembles the question. A code knowledge graph follows a relationship you can open. Hosted search and review tools serve a person, or a pull request.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question&lt;/th&gt;
&lt;th&gt;A tool that fits&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Find this string&lt;/td&gt;
&lt;td&gt;grep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prose that resembles the question&lt;/td&gt;
&lt;td&gt;Embeddings, RAG, or a vector database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;What calls what, hop by hop&lt;/td&gt;
&lt;td&gt;A code knowledge graph&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Search across the organisation&lt;/td&gt;
&lt;td&gt;Sourcegraph&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Comments on an open pull request&lt;/td&gt;
&lt;td&gt;Greptile or CodeRabbit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code that looks like this, inside Cursor&lt;/td&gt;
&lt;td&gt;Cursor's own index&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What is grep best at?
&lt;/h2&gt;

&lt;p&gt;Grep is best when the question is "find this string." It returns the lines that contain the text. One hop is usually in reach too: the direct callers of a function, when the name in the call matches the name you searched.&lt;/p&gt;

&lt;p&gt;Past that hop, text search gets worse. A question such as what breaks if this schema changes runs through the table, the queries, the services, and the endpoints. Each hop adds name collisions, re-exports, and files that mention the symbol without touching it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are embeddings, RAG, and a vector database best at?
&lt;/h2&gt;

&lt;p&gt;They are best at fuzzy recall over prose. &lt;a href="https://graphify.com/vs/rag" rel="noopener noreferrer"&gt;Graphify vs RAG&lt;/a&gt; describes retrieval-augmented generation the way Lewis et al. (2020) introduced it: split documents into chunks, embed them, and pull back the top-k most similar. That works for lookup, when the answer sits in one passage.&lt;/p&gt;

&lt;p&gt;A relationship is a different shape. Chunking drops the link between a function and its caller. A two-hop question needs the first answer before the second can be asked, which is why benchmarks such as HotpotQA exist. &lt;a href="https://graphify.com/vs/vector-databases" rel="noopener noreferrer"&gt;Graphify vs vector databases&lt;/a&gt; names Pinecone, Weaviate, and pgvector: nearest-neighbour search returns similar vectors. A metadata filter narrows that search. Hybrid search still comes back as a ranked list of disconnected chunks.&lt;/p&gt;

&lt;p&gt;A changed file is re-embedded before those chunks can be retrieved again. A similarity score measures resemblance, and you judge the answer yourself. Chunks in a typical embedding pipeline go to an embedding API.&lt;/p&gt;

&lt;p&gt;Keep the vector index when the corpus is prose. Some teams run both: vectors for semantic recall, a graph for relationships. Graphify can store an embedding as one signal on a node, and retrieval is still a walk. If you already run Neo4j or FalkorDB, the graph exports into them. The essay form of this argument is &lt;a href="https://graphify.com/blog/code-knowledge-graph-vs-rag" rel="noopener noreferrer"&gt;Code knowledge graph vs RAG&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a code knowledge graph best at?
&lt;/h2&gt;

&lt;p&gt;A code knowledge graph is best when the assistant needs a relationship: what calls this, what a change reaches, the path from one symbol to another. Graphify builds that graph from the repo. Code is parsed on the machine with tree-sitter, and each edge carries a confidence tag: EXTRACTED from the syntax tree, INFERRED by a model, or AMBIGUOUS when the evidence did not resolve. An answer is a path you can open.&lt;/p&gt;

&lt;p&gt;There is no telemetry on the open-source engine. &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt; is the hosted graph. It is a different product.&lt;/p&gt;

&lt;p&gt;Graphify is the wrong tool for two of the jobs in the table. Fuzzy prose still belongs to embeddings. "Find this string" still belongs to grep.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are hosted search and review tools best at?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://graphify.com/vs/sourcegraph" rel="noopener noreferrer"&gt;Graphify vs Sourcegraph&lt;/a&gt; is a code search platform people use. The index covers the organisation, every repository, cloud or self-hosted, under a commercial licence. Search across thousands of repositories is the job that page says Sourcegraph is built for. Graphify maps the repositories you point it at, on the machine where you work, and the assistant walks that map. The two can run together.&lt;/p&gt;

&lt;p&gt;Greptile is hosted review and codebase chat. It indexes your code, and you see pull-request comments plus its own chat. Managed review on every pull request is its core product. &lt;code&gt;graphify prs&lt;/code&gt; is on demand. A managed bot that fits your policies is Greptile's job. A graph on the machine fits when the code cannot leave, or when you want each claim auditable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/vs/cursor" rel="noopener noreferrer"&gt;Graphify vs Cursor indexing&lt;/a&gt; is the page whose answer is to use both. Cursor's index is embedding similarity inside the editor, automatic, with indexing through Cursor's servers. It surfaces code that looks like what you half remember, and there is nothing to set up. Connected questions are where it runs out. "What breaks if I change this" is a caller of a caller, and the model stitches similar snippets. You also cannot inspect why a snippet was pulled in. Graphify registers as an MCP server, the built-in index stays on, and the agent uses the graph when the question is structural.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/vs/coderabbit" rel="noopener noreferrer"&gt;Graphify vs CodeRabbit&lt;/a&gt; acts after the pull request opens: comments in GitHub or GitLab, through a hosted service, once the change is already written. Graphify is for the assistant writing the code, so it can ask what calls this before the edit. Graph-aware review in Graphify is Enterprise, early access, running in your own infrastructure. For a managed bot on every pull request today, that page says a service is the right shape. A common setup is the graph on the machine while code is written, and a hosted reviewer on the pull requests that follow.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>opensource</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to give Cursor a code knowledge graph (2026 guide)</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:26:10 +0000</pubDate>
      <link>https://dev.to/graphify/how-to-give-cursor-a-code-knowledge-graph-2026-guide-3g1b</link>
      <guid>https://dev.to/graphify/how-to-give-cursor-a-code-knowledge-graph-2026-guide-3g1b</guid>
      <description>&lt;p&gt;Out of the box, Cursor answers codebase questions by searching. It greps for a symbol, opens the files that match, reads them into context, and assembles an answer. That works, and it is expensive in a specific way. The exploration repeats every session, the same files get re-read, and the architectural picture the agent builds is gone the moment you close the window.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://graphify.com/glossary/knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt; changes the move available to the agent. Instead of re-deriving structure from text, Cursor queries a persistent map of your repo: functions, classes, tables, and config as nodes; calls, imports, and references as typed edges. The graph is built once and stored on your machine. Graphify is the open-source (Apache 2.0) tool that builds that graph and hands it to Cursor. The whole setup is four commands.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Install the CLI. The package on PyPI is &lt;code&gt;graphifyy&lt;/code&gt; (two y's). That puts the &lt;code&gt;graphify&lt;/code&gt; command on your path.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Wire Cursor. &lt;code&gt;graphify install&lt;/code&gt; detects Cursor and registers Graphify over the &lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt;, the open standard Cursor already speaks for external tools. Cursor's agent can then call the graph mid-conversation: query the structure, trace a path between two nodes, explain why a node matters. No config files to hand-edit. The &lt;a href="https://graphify.com/integrations/cursor" rel="noopener noreferrer"&gt;Cursor integration page&lt;/a&gt; has the specifics.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Map the repo. In your next agent session, or from the shell, run &lt;code&gt;/graphify .&lt;/code&gt; in the project. Tree-sitter parses your code locally across 36 languages, so the call and import edges come from real AST extraction. No model is involved in reading your source. Docs, PDFs, SQL, Postgres schemas, and Terraform are folded in by whichever model you choose.&lt;/p&gt;

&lt;p&gt;A few minutes later, three files sit in &lt;code&gt;graphify-out/&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;graph.html&lt;/code&gt;: an interactive map you can open in a browser&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;GRAPH_REPORT.md&lt;/code&gt;: a written brief covering god nodes, subsystem communities, and suggested questions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;graph.json&lt;/code&gt;: the raw structure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ask structural questions. Try the ones that used to trigger long search-and-read loops: what calls this function, what is the blast radius of renaming this column, how does the webhook handler reach the database. Cursor answers by traversing the graph (a handful of nodes and edges rather than the full text of every matching file). Every edge carries a provenance tag: &lt;code&gt;EXTRACTED&lt;/code&gt; from the AST, &lt;code&gt;INFERRED&lt;/code&gt; by the model, or &lt;code&gt;AMBIGUOUS&lt;/code&gt; when the evidence could not be resolved. Why that tagging matters is in &lt;a href="https://graphify.com/concepts" rel="noopener noreferrer"&gt;concepts&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can run the same queries yourself:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify query &lt;span class="s2"&gt;"what calls this handler"&lt;/span&gt;
graphify path &lt;span class="s2"&gt;"webhook"&lt;/span&gt; &lt;span class="s2"&gt;"database"&lt;/span&gt;
graphify explain &lt;span class="s2"&gt;"APIRouter"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command reference lives in the &lt;a href="https://docs.graphify.com" rel="noopener noreferrer"&gt;docs&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The limit
&lt;/h2&gt;

&lt;p&gt;The open-source engine runs on your machine. Code parsing is local. There is no telemetry. The only optional network call is the model used to fold non-code sources into the graph, and that can stay local with Ollama.&lt;/p&gt;

&lt;p&gt;Re-run &lt;code&gt;/graphify .&lt;/code&gt; when the code changes meaningfully, or &lt;code&gt;graphify . --update&lt;/code&gt; to re-scan only what changed. Between refreshes the graph is plain files in &lt;code&gt;graphify-out/&lt;/code&gt;. It does not update itself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt; is the hosted, always-on graph: the same map, kept current across repos, queryable from any assistant. This guide is the on-device setup. Cloud is a different product.&lt;/p&gt;

&lt;p&gt;This does not replace Cursor's grep. It gives the agent a map to consult first. For a question that is really "find this string," grep is still the right tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Proof
&lt;/h2&gt;

&lt;p&gt;Graph answers are small, and the graph persists, so context stops being spent on re-discovery. Actual savings depend on your repo and your questions. One community user reported 71.5× fewer tokens on their workload. That is their measurement, not a Graphify benchmark. The claim underneath it is that a traversal sends less text than a file dump.&lt;/p&gt;

&lt;p&gt;The other change is qualitative. Because every answer traces to a path through real files, you can audit what Cursor tells you instead of taking a plausible-sounding reconstruction on faith. Open &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt; once. The god nodes and subsystem communities it names are usually worth knowing about even before the agent starts using them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, in Cursor:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/graphify .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;First-graph walkthrough: &lt;a href="https://docs.graphify.com/guides/first-graph" rel="noopener noreferrer"&gt;docs.graphify.com/guides/first-graph&lt;/a&gt;. Cursor-specific notes: &lt;a href="https://graphify.com/integrations/cursor" rel="noopener noreferrer"&gt;graphify.com/integrations/cursor&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>mcp</category>
      <category>ai</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>How to give Claude Code a code knowledge graph (2026 guide)</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:26:00 +0000</pubDate>
      <link>https://dev.to/graphify/how-to-give-claude-code-a-code-knowledge-graph-2026-guide-1hi8</link>
      <guid>https://dev.to/graphify/how-to-give-claude-code-a-code-knowledge-graph-2026-guide-1hi8</guid>
      <description>&lt;p&gt;Claude Code starts each session by searching the repo. It greps for a name, opens the files that match, and reads them into the conversation. A code knowledge graph for Claude Code gives it a map it can query instead, so the session starts from structure that already exists on your machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does graphify install write for Claude Code?
&lt;/h2&gt;

&lt;p&gt;The package on PyPI is &lt;code&gt;graphifyy&lt;/code&gt;, with two y's. Install the CLI first.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;pipx install graphifyy&lt;/code&gt; also works. If the shell then says &lt;code&gt;graphify&lt;/code&gt; is not found, run &lt;code&gt;uv tool update-shell&lt;/code&gt; and open a new terminal. &lt;code&gt;~/.local/bin&lt;/code&gt; is not on PATH until you do.&lt;/p&gt;

&lt;p&gt;The bare &lt;code&gt;graphify install&lt;/code&gt; targets Claude Code. It writes the &lt;code&gt;/graphify&lt;/code&gt; skill to &lt;code&gt;~/.claude/skills/graphify/SKILL.md&lt;/code&gt;, adds a graphify section to &lt;code&gt;~/.claude/CLAUDE.md&lt;/code&gt;, and writes PreToolUse hooks to &lt;code&gt;.claude/settings.json&lt;/code&gt;. When you type &lt;code&gt;/graphify&lt;/code&gt;, that section tells Claude Code to follow the skill before it does anything else.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;graphify install --project&lt;/code&gt; writes those pieces inside the repo, so a team can commit them. The skill path there is &lt;code&gt;.claude/skills/graphify/SKILL.md&lt;/code&gt;, and the hook settings go in &lt;code&gt;.claude/settings.json&lt;/code&gt;. The command prints a &lt;code&gt;git add&lt;/code&gt; hint. Teammates need the &lt;code&gt;graphifyy&lt;/code&gt; CLI installed.&lt;/p&gt;

&lt;p&gt;If you see &lt;code&gt;ModuleNotFoundError: No module named 'graphify'&lt;/code&gt;, the usual cause on Mac or Windows is a plain pip install. The skill resolves Python from &lt;code&gt;graphify-out/.graphify_python&lt;/code&gt;, which can point at a different environment than pip used. Use the uv or pipx install above. Both isolate the package.&lt;/p&gt;

&lt;p&gt;The registration block is on &lt;a href="https://graphify.com/integrations/claude-code" rel="noopener noreferrer"&gt;Graphify + Claude Code: a code knowledge graph&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you build the graph?
&lt;/h2&gt;

&lt;p&gt;In a Claude Code session, type &lt;code&gt;/graphify .&lt;/code&gt;. The skill maps the project into &lt;code&gt;graphify-out/&lt;/code&gt;. &lt;code&gt;graph.html&lt;/code&gt; is the interactive view, &lt;code&gt;GRAPH_REPORT.md&lt;/code&gt; has the highlights and suggested questions, and &lt;code&gt;graph.json&lt;/code&gt; is the queryable graph.&lt;/p&gt;

&lt;p&gt;On PowerShell, type &lt;code&gt;graphify .&lt;/code&gt;. The leading slash in &lt;code&gt;/graphify .&lt;/code&gt; is parsed as a path separator there.&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;/graphify&lt;/code&gt; does nothing, check that &lt;code&gt;~/.claude/skills/graphify/SKILL.md&lt;/code&gt; exists and that the graphify section is in &lt;code&gt;CLAUDE.md&lt;/code&gt;. Start a new Claude Code session so both are picked up.&lt;/p&gt;

&lt;p&gt;The background is in &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;What is a code knowledge graph?&lt;/a&gt;. The glossary page is &lt;a href="https://graphify.com/glossary/knowledge-graph" rel="noopener noreferrer"&gt;Knowledge graph&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does Claude Code query the graph?
&lt;/h2&gt;

&lt;p&gt;Before Claude Code greps or opens files one by one, the hook-guard reminds it to try the graph. &lt;code&gt;graphify query&lt;/code&gt; returns a scoped subgraph for a question. &lt;code&gt;graphify path&lt;/code&gt; returns the dependency path between two symbols. &lt;code&gt;graphify explain&lt;/code&gt; returns everything connected to a node. Ask what calls &lt;code&gt;chargeCustomer&lt;/code&gt;, and what breaks if you change its signature.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify query &lt;span class="s2"&gt;"what calls chargeCustomer, and what breaks if I change its signature?"&lt;/span&gt;
graphify path &lt;span class="s2"&gt;"A"&lt;/span&gt; &lt;span class="s2"&gt;"B"&lt;/span&gt;
graphify explain &lt;span class="s2"&gt;"chargeCustomer"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Results include &lt;code&gt;file:line&lt;/code&gt; citations. Every edge is tagged &lt;code&gt;EXTRACTED&lt;/code&gt;, &lt;code&gt;INFERRED&lt;/code&gt;, or &lt;code&gt;AMBIGUOUS&lt;/code&gt;. The tags separate what was found from what was guessed.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does strict mode change?
&lt;/h2&gt;

&lt;p&gt;A normal install nudges Claude Code toward the graph. &lt;code&gt;graphify install --project --strict&lt;/code&gt; blocks the first raw source read of a session and redirects that read to the graph. After that one block, the hook goes back to the soft nudge.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;GRAPHIFY_HOOK_STRICT=1&lt;/code&gt; or &lt;code&gt;0&lt;/code&gt; toggles strict mode at runtime. No reinstall.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does the graph stay current?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;graphify update .&lt;/code&gt; re-extracts changed files. That pass is AST-only. &lt;code&gt;graphify hook install&lt;/code&gt; adds post-commit and post-checkout git hooks that run the update on commit and checkout. The graph does not update itself.&lt;/p&gt;

&lt;p&gt;Hook commands store an absolute path to the interpreter at install time. After you upgrade, run &lt;code&gt;graphify hook install&lt;/code&gt; again so the embedded interpreter path stays fresh. If the PreToolUse hooks stop firing after an upgrade, run &lt;code&gt;graphify install&lt;/code&gt; again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you need the MCP server?
&lt;/h2&gt;

&lt;p&gt;The skill plus the CLI is the complete default. The MCP server is optional. Add &lt;code&gt;.mcp.json&lt;/code&gt; at the project root when you want the graph as native tools, or when several assistants should share one graph.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"graphify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"python"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-m"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"graphify.serve"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"graphify-out/graph.json"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can call &lt;code&gt;query_graph&lt;/code&gt;, &lt;code&gt;shortest_path&lt;/code&gt;, &lt;code&gt;god_nodes&lt;/code&gt;, &lt;code&gt;graph_stats&lt;/code&gt;, and a PR-triage set. The rest are in the &lt;a href="https://docs.graphify.com/reference/mcp-tools" rel="noopener noreferrer"&gt;MCP tools reference&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you use grep?
&lt;/h2&gt;

&lt;p&gt;Grep wins when the question is "find this string."&lt;/p&gt;

&lt;p&gt;Tree-sitter parses code locally with 36 language grammars. The model you already use in Claude Code reads docs and PDFs. There is no telemetry.&lt;/p&gt;

&lt;p&gt;The installer replaces or appends only its own graphify section and leaves the rest of &lt;code&gt;CLAUDE.md&lt;/code&gt; alone. &lt;code&gt;graphify claude uninstall&lt;/code&gt; removes the Claude Code pieces. &lt;code&gt;graphify uninstall&lt;/code&gt; removes every platform at once. It also removes the graphify section from &lt;code&gt;CLAUDE.md&lt;/code&gt;, and deletes that file only if graphify created it. &lt;code&gt;graphify uninstall --purge&lt;/code&gt; also deletes &lt;code&gt;graphify-out/&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you install it?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
graphify &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open the repo in Claude Code and run &lt;code&gt;/graphify .&lt;/code&gt;.&lt;/p&gt;

</description>
      <category>claude</category>
      <category>mcp</category>
      <category>ai</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>100,000 GitHub stars</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:25:48 +0000</pubDate>
      <link>https://dev.to/graphify/100000-github-stars-3jph</link>
      <guid>https://dev.to/graphify/100000-github-stars-3jph</guid>
      <description>&lt;p&gt;We hit 100,000 GitHub stars. &lt;a href="https://github.com/Graphify-Labs/graphify" rel="noopener noreferrer"&gt;github.com/Graphify-Labs/graphify&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That is 117 days after the first commit. Graphify has now been downloaded more than 4 million times, forked more than 10,000 times, and runs inside more than 20 AI coding assistants.&lt;/p&gt;

&lt;p&gt;That still feels surreal.&lt;/p&gt;

&lt;p&gt;I am a knowledge graph researcher. When Andrej Karpathy posted about using LLMs to build personal knowledge bases, something clicked: a coding assistant should not have to grep its way through a codebase every time you ask it a question. It should have a map. I built the first version that weekend and pushed it to GitHub on 5 April. One person and a tree-sitter parser.&lt;/p&gt;

&lt;p&gt;We had 4,000 stars on day one and 10,000 by day two, almost entirely because people we had never met posted about it on X. We never optimised for stars. We optimised for one thing: type &lt;code&gt;/graphify&lt;/code&gt; in your assistant and get something useful back in thirty seconds. Stars are a side effect of that. But a milestone is a good moment to stop and look back, and this one is really about a community that showed up, stuck around, and built things we never planned for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What hasn't changed
&lt;/h2&gt;

&lt;p&gt;The principles are the same ones I wrote down that first weekend.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your code stays on your machine.&lt;/strong&gt; Code is parsed locally and deterministically. No LLM call, nothing sent anywhere.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every edge is explained.&lt;/strong&gt; Each relationship is tagged &lt;code&gt;EXTRACTED&lt;/code&gt; or &lt;code&gt;INFERRED&lt;/code&gt;, so you always know what was read straight from the source and what Graphify resolved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A graph, not a vector index.&lt;/strong&gt; No embeddings, no vector store. Something you can traverse, query, and trace from one concept to the next.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Simple enough to onboard yourself.&lt;/strong&gt; Two commands to install, one to run.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Standing on open source
&lt;/h2&gt;

&lt;p&gt;Graphify is built on top of other people's work, and we would not be here without it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://tree-sitter.github.io/tree-sitter/" rel="noopener noreferrer"&gt;tree-sitter&lt;/a&gt;. Every code relationship in Graphify starts life as a tree-sitter AST, across dozens of languages.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.nature.com/articles/s41598-019-41695-z" rel="noopener noreferrer"&gt;Leiden community detection&lt;/a&gt;. This is how a codebase splits into the subsystems you see in every graph.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/SYSTRAN/faster-whisper" rel="noopener noreferrer"&gt;faster-whisper&lt;/a&gt; and &lt;a href="https://github.com/yt-dlp/yt-dlp" rel="noopener noreferrer"&gt;yt-dlp&lt;/a&gt;. They let Graphify pull videos, talks, and recordings into the same graph as your code, transcribed locally.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://modelcontextprotocol.io" rel="noopener noreferrer"&gt;Model Context Protocol&lt;/a&gt;. MCP turned Graphify from a report you read into a set of tools any assistant can call.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/astral-sh/uv" rel="noopener noreferrer"&gt;uv&lt;/a&gt;. The reason install takes thirty seconds instead of thirty minutes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And thank you to the teams behind Claude Code, Cursor, Codex, Gemini CLI, Copilot, and every other assistant we plug into. You built the place where developers now work. We just try to give it a better map.&lt;/p&gt;

&lt;h2&gt;
  
  
  The community
&lt;/h2&gt;

&lt;p&gt;The numbers that matter most to me are not the stars. More than 130 people have contributed code, and we have shipped more than 150 releases. Nearly every fix that went out this month came from an issue or a pull request someone in the community opened. People have written tutorials, recorded videos, and posted reels about Graphify that we only found out about afterwards. This month we hit #3 on GitHub's global trending list.&lt;/p&gt;

&lt;p&gt;To everyone who starred the repo, opened an issue, sent a pull request, answered a question in Discord, or wrote about Graphify somewhere: thank you. And thank you to Andrej for the post that started all of this.&lt;/p&gt;

&lt;h2&gt;
  
  
  We are not done
&lt;/h2&gt;

&lt;p&gt;Graphify the open-source project stays open source. That is not changing.&lt;/p&gt;

&lt;p&gt;The thing you have asked for most is the always-on version: your code, docs, and meetings mapped continuously in the background, updated as you work, and queryable from anywhere instead of only on demand. That is what we have been building at &lt;a href="https://graphify.com" rel="noopener noreferrer"&gt;graphify.com&lt;/a&gt;, and as of today early access is open at &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;app.graphify.com&lt;/a&gt;, ahead of the public v1 launch.&lt;/p&gt;

&lt;p&gt;We think every AI assistant should work from a real map of your world, not a guess. We are going to keep building until that is the default.&lt;/p&gt;

&lt;p&gt;Thanks for all the stars.&lt;/p&gt;

&lt;p&gt;Safi and the Graphify team&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>github</category>
      <category>ai</category>
      <category>startup</category>
    </item>
    <item>
      <title>Graphify is now a ChatGPT plugin</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:25:18 +0000</pubDate>
      <link>https://dev.to/graphify/graphify-is-now-a-chatgpt-plugin-6la</link>
      <guid>https://dev.to/graphify/graphify-is-now-a-chatgpt-plugin-6la</guid>
      <description>&lt;p&gt;Graphify is now a ChatGPT plugin. The same plugin works in Codex and in Dots. It connects them to the repositories you have already indexed in Graphify Cloud, through the hosted server at &lt;code&gt;https://api.graphify.com/mcp&lt;/code&gt;. You install it from the plugin directory, sign in, and ask about a repository you are allowed to see. There is no API key to paste, and neither ChatGPT, Codex, nor a Dot builds the graph on your computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the ChatGPT plugin do?
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://chatgpt.com/plugins/plugin_asdk_app_6abe89f7f5d88191b9422522bb8562a4" rel="noopener noreferrer"&gt;listing&lt;/a&gt; is Graphify, by Graphify Labs, under Developer Tools. The server it connects is named &lt;code&gt;graphify&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Once you are signed in, ChatGPT, Codex, and a Dot can explore the indexed repositories your account is allowed to open. It can trace call paths and dependencies, assess the static impact of a change, find tests linked to that code, and keep workspace-specific engineering knowledge for later questions. A &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt; is the map underneath: functions, calls, and imports, with a file and a line on each hop.&lt;/p&gt;

&lt;p&gt;The same hosted server is what the &lt;a href="https://graphify.com/mcp" rel="noopener noreferrer"&gt;VS Code and JetBrains installs&lt;/a&gt; use. The plugin is the install package ChatGPT, Codex, and Dots understand. MCP is the connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you install the ChatGPT plugin?
&lt;/h2&gt;

&lt;p&gt;You need a repository whose status in &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt; is Indexed. Use ChatGPT on the web or in the desktop app, Codex in the desktop app, or a Dot. On a work workspace, an admin may have to allow the plugin before Connect is available.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://chatgpt.com/plugins/plugin_asdk_app_6abe89f7f5d88191b9422522bb8562a4" rel="noopener noreferrer"&gt;Graphify in the ChatGPT plugin directory&lt;/a&gt;. You can also go to Settings, then Plugins, and choose Graphify by Graphify Labs. The sidebar has a Plugins entry too.&lt;/li&gt;
&lt;li&gt;Select Install plugin if ChatGPT shows it, then Connect.&lt;/li&gt;
&lt;li&gt;Your browser opens so you can sign in to Graphify and choose the workspace that holds the repository. Read the access ChatGPT asks for before you approve it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Codex uses that same listing. In the desktop app, switch to Codex, open Plugins, and install Graphify. Connect and sign in the same way, then start a new chat and mention Graphify.&lt;/p&gt;

&lt;p&gt;Installing the plugin does not sign you in. The connection is ready only after that Graphify sign-in finishes.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does a Dot use the plugin?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://openai.com/index/introducing-dots/" rel="noopener noreferrer"&gt;Dots&lt;/a&gt; are OpenAI's always-on agents in ChatGPT. They use the plugins you have already connected. You choose which apps a Dot can open, and which actions it may run on its own.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the Dot in the ChatGPT desktop app, or on chatgpt.com in a desktop browser.&lt;/li&gt;
&lt;li&gt;Open Settings, then Customize, then Plugins, and choose Graphify.&lt;/li&gt;
&lt;li&gt;Decide which Graphify actions the Dot may run on its own, and which ones it has to ask you about.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Ask it the same questions you would ask in ChatGPT. When a Dot is researching in the background, OpenAI keeps connected apps read-only. It will not save a note or switch workspace until you ask it to, and you approve that request.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should you ask first?
&lt;/h2&gt;

&lt;p&gt;In ChatGPT, mention Graphify in the message, or choose it from +, then More, before you send. In Codex, and when you talk to a Dot, mention it the same way.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@Graphify Show my indexed repositories and help me choose one to explore.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pick a repository from that answer, then ask one of the questions on the listing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@Graphify Explain how authentication works in my selected repository, with supporting code locations.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@Graphify Help me assess the likely impact of a code change and find linked tests in my selected repository.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open the file and line an answer cites before you change code. The graph tags each edge EXTRACTED, INFERRED, or AMBIGUOUS, which is what &lt;a href="https://graphify.com/blog/grounded-answers-confidence-tags" rel="noopener noreferrer"&gt;Grounded answers&lt;/a&gt; is about. Some tools save a note for the workspace or change which workspace is selected. Read the tool request and approve it only when that is what you meant.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this plugin does not do
&lt;/h2&gt;

&lt;p&gt;It does not search the public web, run SQL, or deploy anything. It answers from repositories indexed in your workspace. A repository that is still building, or that sits in another workspace, comes back empty. Check its status, then ask Graphify to list repositories again.&lt;/p&gt;

&lt;p&gt;The open-source engine is a different setup. &lt;code&gt;uv tool install graphifyy&lt;/code&gt; and &lt;code&gt;graphify install&lt;/code&gt; register a skill with an editor on your machine. The ChatGPT plugin does not replace that, and that install does not connect ChatGPT, Codex, or a Dot. The package name on PyPI is &lt;code&gt;graphifyy&lt;/code&gt;, with two y's.&lt;/p&gt;

&lt;p&gt;If Graphify is missing under Settings, then Plugins, it may be unavailable on this plan, region, or workspace. If you cannot create a Dot, OpenAI is still rolling them out by plan and region, and a work workspace admin may have to turn them on. An admin turns plugins on under Workspace settings, then Plugins. If Connect says an admin disabled it, ask them to enable Graphify for your role and connect again. If ChatGPT never asked you to sign in, open Settings, then Plugins, select Graphify, and choose Connect.&lt;/p&gt;

&lt;p&gt;Privacy and terms for the app are on &lt;a href="https://graphify.com/privacy" rel="noopener noreferrer"&gt;graphify.com/privacy&lt;/a&gt; and &lt;a href="https://graphify.com/terms" rel="noopener noreferrer"&gt;graphify.com/terms&lt;/a&gt;. ChatGPT tells you, on the listing, that connecting may share relevant chats with the app. That use is covered by those pages.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>openai</category>
      <category>ai</category>
      <category>mcp</category>
    </item>
    <item>
      <title>OpenClaw MCP: how to connect Graphify</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:25:09 +0000</pubDate>
      <link>https://dev.to/graphify/openclaw-mcp-how-to-connect-graphify-4ajg</link>
      <guid>https://dev.to/graphify/openclaw-mcp-how-to-connect-graphify-4ajg</guid>
      <description>&lt;p&gt;OpenClaw MCP is the Graphify plugin you install from ClawHub. It connects OpenClaw to the repositories you have already indexed in Graphify Cloud, through the hosted server at &lt;code&gt;https://api.graphify.com/mcp&lt;/code&gt;. You sign in through the browser, then ask about a repository you are allowed to see. There is no API key to paste. OpenClaw does not build the graph on your computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the OpenClaw MCP plugin do?
&lt;/h2&gt;

&lt;p&gt;Graphify Labs publishes &lt;code&gt;@graphify-labs/graphify-mcp&lt;/code&gt;. The listing is &lt;a href="https://clawhub.ai/graphify-labs/plugins/graphify-mcp" rel="noopener noreferrer"&gt;Graphify MCP on ClawHub&lt;/a&gt;. The steps below match &lt;a href="https://docs.graphify.com/integrations/openclaw" rel="noopener noreferrer"&gt;Graphify MCP for OpenClaw&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Once you are signed in, OpenClaw can search those indexed repositories, follow callers and dependencies, and judge what a change reaches. The map underneath is a &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt;: functions, calls, and imports, with a file and a line on each hop.&lt;/p&gt;

&lt;p&gt;The same hosted server is what &lt;a href="https://graphify.com/mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt; uses for VS Code and JetBrains, and what the &lt;a href="https://graphify.com/blog/graphify-chatgpt-plugin" rel="noopener noreferrer"&gt;ChatGPT plugin&lt;/a&gt; uses. The plugin is the package OpenClaw installs. MCP is the connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you need before you install?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;OpenClaw with remote MCP, OAuth, and Claude-format bundle support. The package was prepared for OpenClaw 2026.9.8. Older releases may differ. The install flags are in &lt;a href="https://docs.openclaw.ai/cli/plugins/install" rel="noopener noreferrer"&gt;OpenClaw's plugin install guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A model enabled in OpenClaw, with permission to call tools. That access is separate from your Graphify plan.&lt;/li&gt;
&lt;li&gt;A repository indexed in your Graphify workspace. Sign in at &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt;, connect a repository, and wait until its status is Indexed. Status lives on &lt;a href="https://docs.graphify.com/platform/repositories" rel="noopener noreferrer"&gt;Repositories and builds&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How do you install the OpenClaw plugin?
&lt;/h2&gt;

&lt;p&gt;Open &lt;a href="https://clawhub.ai/graphify-labs/plugins/graphify-mcp" rel="noopener noreferrer"&gt;Graphify MCP on ClawHub&lt;/a&gt;, then install the published package and confirm OpenClaw sees it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw plugins &lt;span class="nb"&gt;install &lt;/span&gt;clawhub:@graphify-labs/graphify-mcp
openclaw plugins inspect graphify-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you already cloned &lt;a href="https://github.com/Graphify-Labs/graphify-mcp" rel="noopener noreferrer"&gt;graphify-mcp&lt;/a&gt;, the same bundle is in &lt;code&gt;integrations/openclaw&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw plugins &lt;span class="nb"&gt;install&lt;/span&gt; ./integrations/openclaw
openclaw plugins inspect graphify-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Installing the plugin does not sign you in. If the install stops and asks you to accept capabilities, review the Graphify MCP server on that screen and accept it. On a noninteractive install, add &lt;code&gt;--accept-capabilities&lt;/code&gt; to the same command.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you sign in to Graphify?
&lt;/h2&gt;

&lt;p&gt;Register the hosted server, then finish Graphify sign-in in the browser:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;openclaw mcp &lt;span class="nb"&gt;set &lt;/span&gt;graphify &lt;span class="s1"&gt;'{"url":"https://api.graphify.com/mcp","transport":"streamable-http","auth":"oauth"}'&lt;/span&gt;
openclaw mcp login graphify
openclaw mcp doctor graphify &lt;span class="nt"&gt;--probe&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If a server named &lt;code&gt;graphify&lt;/code&gt; already exists, run &lt;code&gt;openclaw mcp show graphify&lt;/code&gt; first and keep any settings you meant to keep.&lt;/p&gt;

&lt;p&gt;The same connection, merged into your OpenClaw configuration:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcp"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"servers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"graphify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.graphify.com/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"transport"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"streamable-http"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"auth"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"oauth"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use one connection named &lt;code&gt;graphify&lt;/code&gt;. A second name for the same URL shows the tools twice. Do not put a password or token in the configuration. OpenClaw stores the OAuth credentials.&lt;/p&gt;

&lt;p&gt;Start a new agent session after this. If OpenClaw prints a restart instruction, follow that instruction.&lt;/p&gt;

&lt;h2&gt;
  
  
  What should you ask first?
&lt;/h2&gt;

&lt;p&gt;Ask OpenClaw to list what the connection can see:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;List my Graphify workspaces and repositories.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pick a repository from that answer, then ask:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;In my selected repository, find the function that handles authentication.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show its callers and the linked tests, with file paths as evidence.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A connection check includes a repository lookup. Tool discovery alone does not show that the index is reachable.&lt;/p&gt;

&lt;p&gt;Open the file and line an answer cites before you change code. These results are static. They do not run the code or the tests. Some tools save a repository note or change the selected workspace. Read each tool request and approve it only when that is what you meant.&lt;/p&gt;

&lt;h2&gt;
  
  
  What if the OpenClaw connection fails?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What you see&lt;/th&gt;
&lt;th&gt;What to do&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;The install stops and asks you to accept capabilities&lt;/td&gt;
&lt;td&gt;Review the Graphify MCP server on that screen and accept it. On a noninteractive install, run the same install command again with &lt;code&gt;--accept-capabilities&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Graphify tools are hidden&lt;/td&gt;
&lt;td&gt;Check that the plugin is enabled and that your tool policy allows it. A &lt;code&gt;bundle-mcp&lt;/code&gt; denial hides these tools.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sign-in fails&lt;/td&gt;
&lt;td&gt;Run &lt;code&gt;openclaw mcp doctor graphify --probe&lt;/code&gt;, then &lt;code&gt;openclaw mcp login graphify&lt;/code&gt; again.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;No repositories, or empty answers&lt;/td&gt;
&lt;td&gt;That repository is not indexed yet, or it is in a different workspace. Check its status on &lt;a href="https://docs.graphify.com/platform/repositories" rel="noopener noreferrer"&gt;Repositories and builds&lt;/a&gt;, then ask OpenClaw to list repositories again.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Two copies of the Graphify tools&lt;/td&gt;
&lt;td&gt;Keep a single server named &lt;code&gt;graphify&lt;/code&gt;. Remove the extra connection to the same URL.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What this plugin does not do
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;graphify install --platform claw&lt;/code&gt; installs the local skill for a graph on your machine. That path is on &lt;a href="https://docs.graphify.com/integrations/other-assistants" rel="noopener noreferrer"&gt;Other coding assistants&lt;/a&gt;. The OpenClaw plugin on this page connects OpenClaw to Graphify Cloud. The local command does not install the ClawHub plugin. The ClawHub plugin does not build the graph on your machine.&lt;/p&gt;

&lt;p&gt;The package name on PyPI, for the local engine, is &lt;code&gt;graphifyy&lt;/code&gt;, with two y's.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>agents</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>JetBrains MCP: how to connect Graphify</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:24:59 +0000</pubDate>
      <link>https://dev.to/graphify/jetbrains-mcp-how-to-connect-graphify-2l05</link>
      <guid>https://dev.to/graphify/jetbrains-mcp-how-to-connect-graphify-2l05</guid>
      <description>&lt;p&gt;Graphify MCP is on the JetBrains Marketplace. JetBrains AI Assistant can ask about a repository you have already indexed in Graphify Cloud. You install the plugin, copy a connection from a tool window, paste it into AI Assistant, and sign in through the browser. There is no API key. The plugin does not build the graph on your computer.&lt;/p&gt;

&lt;p&gt;The connection uses &lt;code&gt;https://api.graphify.com/mcp&lt;/code&gt;, the same hosted server as &lt;a href="https://graphify.com/mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt;. Graphify Labs publishes the plugin as &lt;a href="https://plugins.jetbrains.com/plugin/34740-graphify-mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt;. The id is &lt;code&gt;com.graphify.graphify-mcp&lt;/code&gt;. The walkthrough below follows &lt;a href="https://docs.graphify.com/integrations/jetbrains" rel="noopener noreferrer"&gt;Graphify MCP for JetBrains&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Assistant gets a map of the code
&lt;/h2&gt;

&lt;p&gt;AI Assistant can search the project you have open. With this connection it can also follow a &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt;: which function calls which, and which file and line each hop sits on. Graphify MCP is how you give AI Assistant that map.&lt;/p&gt;

&lt;p&gt;The Marketplace lists the plugin as free. AI Assistant is still the chat. The plugin does not upload the project you have open, and it does not keep a password of its own. Your Graphify plan is separate from Assistant access.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need first
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A JetBrains IDE on the 2025.3 release. The published plugin accepts platform build 253 through 253.*, so it does not install on 2025.2 or on a later release.&lt;/li&gt;
&lt;li&gt;JetBrains AI Assistant, with access to MCP.&lt;/li&gt;
&lt;li&gt;A repository indexed in &lt;a href="https://app.graphify.com" rel="noopener noreferrer"&gt;Graphify Cloud&lt;/a&gt;. Wait until its status is Indexed. That status is on &lt;a href="https://docs.graphify.com/platform/repositories" rel="noopener noreferrer"&gt;Repositories and builds&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Node.js and npm on the IDE's PATH, only for the browser sign-in below. The direct connection does not need them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install the JetBrains MCP plugin
&lt;/h2&gt;

&lt;p&gt;Install &lt;a href="https://plugins.jetbrains.com/plugin/34740-graphify-mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt; from the Marketplace, or search for Graphify MCP by Graphify Labs under Settings, then Plugins. Restart the IDE if it asks.&lt;/p&gt;

&lt;p&gt;Open View, then Tool Windows, then Graphify. From that window you copy the connection, open IDE settings, open your workspace, or open the setup guide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose how AI Assistant signs in
&lt;/h2&gt;

&lt;p&gt;Pick a method in the tool window and click Copy configuration. If a later release changes the text, copy it from the window.&lt;/p&gt;

&lt;h3&gt;
  
  
  Browser sign-in
&lt;/h3&gt;

&lt;p&gt;Use this when AI Assistant cannot sign in to a remote server on its own. The configuration runs &lt;code&gt;mcp-remote@0.14.3&lt;/code&gt;. That package opens a browser for Graphify sign-in and stores the credentials on your machine. Turning the configuration on is what downloads the bridge, so Node.js and npm have to be on the IDE's PATH.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"graphify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"mcp-remote@0.14.3"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"https://api.graphify.com/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"--transport"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="s2"&gt;"http-only"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Direct connection
&lt;/h3&gt;

&lt;p&gt;Use this when the client can finish Graphify's sign-in itself. If the browser never opens, switch back to the bridge above and paste that configuration instead.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"graphify"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://api.graphify.com/mcp"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Paste it into AI Assistant
&lt;/h2&gt;

&lt;p&gt;Open Settings, then Tools, then AI Assistant, then Model Context Protocol (MCP). On macOS the menu is Settings or Preferences, then the same path. Open Settings in the tool window opens the IDE settings dialog. You still have to open the MCP page yourself.&lt;/p&gt;

&lt;p&gt;Click Add, paste the JSON, and choose this project or every project. Click OK, then Apply.&lt;/p&gt;

&lt;p&gt;Settings, then Tools, then MCP Server is a different page. That page lets other applications use the IDE. This configuration goes on the AI Assistant MCP page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ask about an indexed repository
&lt;/h2&gt;

&lt;p&gt;Sign in when the browser opens. The MCP settings should show the server connected. Ask:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;List my Graphify repositories.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pick a repository from the answer, then try one of these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Find the implementation of this function.&lt;/li&gt;
&lt;li&gt;What calls this symbol, and which tests are linked to it?&lt;/li&gt;
&lt;li&gt;Find this function and show its callers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Open the file an answer cites before you rely on it. Some tools save notes on a repository or change the workspace you have selected. Read the request, and approve it only when that is what you meant.&lt;/p&gt;

&lt;h2&gt;
  
  
  If the connection fails
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The plugin will not install unless the IDE is on the 2025.3 release.&lt;/li&gt;
&lt;li&gt;If &lt;code&gt;npx&lt;/code&gt; or Node.js is missing, install both, put them on the IDE's PATH, and restart the IDE. The browser sign-in needs them.&lt;/li&gt;
&lt;li&gt;If the direct connection never signs in, switch the tool window to the OAuth bridge, copy that configuration, and replace the server entry.&lt;/li&gt;
&lt;li&gt;If the answer lists no repositories, the repository is not indexed yet, or it is in another workspace. Check &lt;a href="https://docs.graphify.com/platform/repositories" rel="noopener noreferrer"&gt;Repositories and builds&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you cannot find an MCP page under AI Assistant, confirm AI Assistant is installed and that your JetBrains account can use it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A graph that stays on your own machine is a separate setup, on &lt;a href="https://graphify.com/mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt;. This plugin talks to the hosted server, and only to repositories already indexed in Graphify Cloud.&lt;/p&gt;

</description>
      <category>jetbrains</category>
      <category>mcp</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Graphify Startups Program: to help founders build</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:24:49 +0000</pubDate>
      <link>https://dev.to/graphify/graphify-startups-program-to-help-founders-build-29jc</link>
      <guid>https://dev.to/graphify/graphify-startups-program-to-help-founders-build-29jc</guid>
      <description>&lt;p&gt;The Graphify Startups Program is open. Pre-Seed and Seed startups with under $1M in revenue over the past 12 months get 50% off Graphify Teams for up to 6 months.&lt;/p&gt;

&lt;p&gt;Teams is the hosted plan. It keeps one graph of the codebase for every engineer and every coding agent on the team, on one bill. Apply on the &lt;a href="https://graphify.com/startups" rel="noopener noreferrer"&gt;Graphify Startups Program&lt;/a&gt; page.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a small team still needs one map of the code
&lt;/h2&gt;

&lt;p&gt;A small team can ship a product quickly and still lose the thread of how the code connects. Each new chat starts by searching the repo again. Search returns files. The graph returns the path between those files.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt; is that path: functions, calls, and imports, with a file and a line on each hop. Teams puts one graph on one bill, so the people and the assistants on the team query the same map.&lt;/p&gt;

&lt;p&gt;The Startups Program is 50% off that plan for up to 6 months. The short walkthrough is below.&lt;/p&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/UupGPPVYdis" width="710" height="399"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Who is the Startups Program for?
&lt;/h2&gt;

&lt;p&gt;Pre-Seed and Seed startups with under $1M in revenue over the past 12 months. The form asks for your funding stage and your revenue range, and you confirm that the revenue stays under that limit.&lt;/p&gt;

&lt;p&gt;YC companies and open-source projects have their own offers, below. This program is the 50% discount on Teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does the Teams discount include?
&lt;/h2&gt;

&lt;p&gt;Approved startups get 50% off Teams for up to 6 months. Teams needs at least 2 seats.&lt;/p&gt;

&lt;p&gt;For the first 100 teams, Teams is $29 per seat per month billed monthly, or $20 per seat per month billed yearly. After that it is $40 per seat per month, or $28 billed yearly. The startup price is half of whichever of those you choose. Full rates are on &lt;a href="https://graphify.com/pricing" rel="noopener noreferrer"&gt;Pricing&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The discount covers the whole Teams plan.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://graphify.com/what-is-graphify" rel="noopener noreferrer"&gt;graph&lt;/a&gt; answers a question in plain language. The answer is a path, with a file and a line on every hop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/pr-reviews" rel="noopener noreferrer"&gt;PR reviews&lt;/a&gt; read the change against that graph, across the repositories it depends on, so the review covers what the change reaches.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/integrations" rel="noopener noreferrer"&gt;MCP and integrations&lt;/a&gt; connect the agent you already use. Integrations bring in the CI and the tickets that already sit next to the code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.graphify.com/platform/memory" rel="noopener noreferrer"&gt;Memory&lt;/a&gt; lets a technical lead see the facts agents recorded across the SDLC work, and where each one sits on the code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphify.com/formal-verification" rel="noopener noreferrer"&gt;Formal verification&lt;/a&gt; checks the new code against the old and looks for a case where they behave differently. When it finds one, you get that case as a test.&lt;/p&gt;

&lt;p&gt;Teams includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlimited shared repositories&lt;/li&gt;
&lt;li&gt;Uncapped graph size&lt;/li&gt;
&lt;li&gt;100 push builds per repo per day&lt;/li&gt;
&lt;li&gt;700 pull request reviews per day&lt;/li&gt;
&lt;li&gt;800 formal verification runs per day&lt;/li&gt;
&lt;li&gt;Shared graphs on one central bill&lt;/li&gt;
&lt;li&gt;A dedicated Slack channel&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can try Graphify before you apply. The open-source CLI is free under Apache 2.0 and needs no account. The hosted Free plan is $0 and needs no card. Teams also has a two-week trial, and a card is required to start that trial.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you apply?
&lt;/h2&gt;

&lt;p&gt;Open the &lt;a href="https://graphify.com/startups" rel="noopener noreferrer"&gt;Graphify Startups Program&lt;/a&gt; page and select Apply for startups. The form asks for the company name, website, work email, your role, team size, funding stage, and revenue in USD over the past 12 months. We review the startup and reply by email.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about YC companies and open source?
&lt;/h2&gt;

&lt;p&gt;YC companies get 6 months of Graphify Teams free, claimed through Bookface. That offer is on &lt;a href="https://graphify.com/yc" rel="noopener noreferrer"&gt;YC companies&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Qualified non-commercial projects with an MIT or Apache license can apply for Graphify free. Projects with 1,000 or more GitHub stars are approved automatically. That offer is on &lt;a href="https://graphify.com/oss" rel="noopener noreferrer"&gt;Open source&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>startup</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devtools</category>
    </item>
    <item>
      <title>Gemini CLI: how to connect Graphify</title>
      <dc:creator>Syed Fahad</dc:creator>
      <pubDate>Wed, 28 Oct 2026 12:24:39 +0000</pubDate>
      <link>https://dev.to/graphify/gemini-cli-how-to-connect-graphify-do4</link>
      <guid>https://dev.to/graphify/gemini-cli-how-to-connect-graphify-do4</guid>
      <description>&lt;p&gt;Gemini CLI can query a graph of the repository on your machine. Install Graphify, run &lt;code&gt;graphify gemini install&lt;/code&gt;, and type &lt;code&gt;/graphify .&lt;/code&gt; in a Gemini CLI session. The graph is written to &lt;code&gt;graphify-out/&lt;/code&gt;. This path needs no Graphify account. The setup page is &lt;a href="https://graphify.com/integrations/gemini-cli" rel="noopener noreferrer"&gt;Graphify + Gemini CLI&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Gemini CLI wants the graph
&lt;/h2&gt;

&lt;p&gt;Gemini CLI lists directories and opens files, then holds what it read. A &lt;a href="https://graphify.com/blog/what-is-a-code-knowledge-graph" rel="noopener noreferrer"&gt;code knowledge graph&lt;/a&gt; is the map of which function calls which, with a file and a line on each hop. Graphify builds that map on the machine, and the installer tells Gemini CLI to query it before it walks the tree.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.10 or later, and uv or pipx.&lt;/li&gt;
&lt;li&gt;Gemini CLI, already able to answer a normal prompt. Model access is Google's, separate from Graphify.&lt;/li&gt;
&lt;li&gt;The repository you want mapped.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install Graphify for Gemini CLI
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;graphifyy
graphify gemini &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;pipx install graphifyy&lt;/code&gt; is the other package install. The docs write the registration as &lt;code&gt;graphify install --platform gemini&lt;/code&gt;. Both commands run the same installer.&lt;/p&gt;

&lt;p&gt;From the project root, &lt;code&gt;graphify gemini install --project&lt;/code&gt; keeps the skill in the repo at &lt;code&gt;.gemini/skills/graphify/SKILL.md&lt;/code&gt;, so you can commit it.&lt;/p&gt;

&lt;p&gt;If &lt;code&gt;graphify&lt;/code&gt; is missing from the shell, run &lt;code&gt;uv tool update-shell&lt;/code&gt; or &lt;code&gt;pipx ensurepath&lt;/code&gt;, then open a new terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the installer writes
&lt;/h2&gt;

&lt;p&gt;The installer adds a skill, a section of &lt;code&gt;GEMINI.md&lt;/code&gt;, and one hook. On an existing &lt;code&gt;GEMINI.md&lt;/code&gt; it replaces only the section headed &lt;code&gt;## graphify&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The skill goes to &lt;code&gt;~/.gemini/skills/graphify/SKILL.md&lt;/code&gt; on macOS and Linux. On Windows it goes to &lt;code&gt;~/.agents/skills/graphify/SKILL.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;GEMINI.md&lt;/code&gt; section tells the model to run &lt;code&gt;graphify query&lt;/code&gt;, &lt;code&gt;graphify path&lt;/code&gt;, and &lt;code&gt;graphify explain&lt;/code&gt; when &lt;code&gt;graphify-out/graph.json&lt;/code&gt; exists.&lt;/p&gt;

&lt;p&gt;A BeforeTool hook lands in &lt;code&gt;.gemini/settings.json&lt;/code&gt;. Before &lt;code&gt;read_file&lt;/code&gt; or &lt;code&gt;list_directory&lt;/code&gt;, Gemini CLI runs &lt;code&gt;graphify hook-guard gemini&lt;/code&gt;. When the graph file exists, the hook attaches a reminder to query it, and the read still proceeds. When the graph file is absent, the hook stays quiet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"BeforeTool"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"matcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"read_file|list_directory"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"graphify hook-guard gemini"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The installed command uses the absolute path to your &lt;code&gt;graphify&lt;/code&gt; executable. Run the install again after an upgrade and it replaces that entry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build the graph
&lt;/h2&gt;

&lt;p&gt;In Gemini CLI, select the Graphify skill and enter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/graphify .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That writes &lt;code&gt;graphify-out/graph.json&lt;/code&gt;, the file later queries read, plus &lt;code&gt;graphify-out/graph.html&lt;/code&gt; and &lt;code&gt;graphify-out/GRAPH_REPORT.md&lt;/code&gt;. The report lists highlights and questions worth asking next.&lt;/p&gt;

&lt;p&gt;Code is parsed on the machine with tree-sitter. Docs and PDFs are read by the model you already use in Gemini CLI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ask about the structure
&lt;/h2&gt;

&lt;p&gt;Ask for a path through the code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Which modules read the payment config, and through what path?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From a terminal, once the graph exists:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;graphify query &lt;span class="s2"&gt;"authentication flow"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Answers cite &lt;code&gt;file:line&lt;/code&gt;. Each edge is tagged EXTRACTED when the parser found it, INFERRED when a model connected it, or AMBIGUOUS when the evidence did not resolve. Open the cited file before you rely on the answer.&lt;/p&gt;

&lt;p&gt;After the code changes, &lt;code&gt;graphify update .&lt;/code&gt; re-extracts the files that changed. &lt;code&gt;graphify hook install&lt;/code&gt; adds post-commit and post-checkout git hooks that run the same update.&lt;/p&gt;

&lt;h2&gt;
  
  
  Graphify Cloud uses a different install
&lt;/h2&gt;

&lt;p&gt;The package &lt;a href="https://github.com/Graphify-Labs/Graphify-gemini-extension" rel="noopener noreferrer"&gt;Graphify for Gemini CLI&lt;/a&gt; points Gemini CLI at the hosted server &lt;code&gt;https://api.graphify.com/mcp&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gemini extensions &lt;span class="nb"&gt;install &lt;/span&gt;https://github.com/Graphify-Labs/Graphify-gemini-extension
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start a new Gemini CLI session and run &lt;code&gt;/mcp auth graphify&lt;/code&gt;. Sign-in happens in the browser. The repository has to be indexed in Graphify Cloud first. That server is &lt;a href="https://graphify.com/mcp" rel="noopener noreferrer"&gt;Graphify MCP&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Google Antigravity has its own command, &lt;code&gt;graphify antigravity install&lt;/code&gt;, and its own page, &lt;a href="https://graphify.com/integrations/google-antigravity" rel="noopener noreferrer"&gt;Graphify + Google Antigravity&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  If Gemini CLI misses the graph
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;graphify: command not found&lt;/code&gt;: run &lt;code&gt;uv tool update-shell&lt;/code&gt; or &lt;code&gt;pipx ensurepath&lt;/code&gt;, then open a new terminal.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/graphify&lt;/code&gt; does nothing: confirm the skill file and the graphify section in &lt;code&gt;GEMINI.md&lt;/code&gt;, then start a new session.&lt;/li&gt;
&lt;li&gt;No reminder appears before a file read: build the graph first. The hook stays quiet until &lt;code&gt;graphify-out/graph.json&lt;/code&gt; exists.&lt;/li&gt;
&lt;li&gt;The hook stops after an upgrade: run &lt;code&gt;graphify gemini install&lt;/code&gt; again so the hook picks up the current executable path.&lt;/li&gt;
&lt;li&gt;The graph lives in another folder: set &lt;code&gt;GRAPHIFY_OUT&lt;/code&gt; to that directory. The hook reads it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;graphify gemini uninstall&lt;/code&gt; removes the Gemini CLI registration. &lt;code&gt;graphify uninstall&lt;/code&gt; removes Graphify from every assistant at once. Add &lt;code&gt;--purge&lt;/code&gt; when you also want &lt;code&gt;graphify-out/&lt;/code&gt; deleted.&lt;/p&gt;

</description>
      <category>gemini</category>
      <category>mcp</category>
      <category>ai</category>
      <category>devtools</category>
    </item>
  </channel>
</rss>
