Find references
Who calls this function? Ask the graph.
Available now, public alpha
Renames, signature changes, and dead-code deletes all start with the same question: what uses this? Kin answers it from recorded references in a standing repository graph.
The question
References are relationships, not name matches.
A function name can appear in comments, strings, and unrelated modules that reuse the word. A reference is a recorded relationship between two entities, and Kin answers caller questions from those relationships.
Callers
The functions that call the one you are changing, across files and modules.
Imports and references
The modules that import or reference the entity, so a rename or deletion starts with its dependents in view.
Context around each hit
Each result is a graph entity you can expand into a focused context pack, not a bare line number.
How you ask
Ask from your agent, your editor, or beside a change.
The same graph serves every surface, so the answer does not depend on which tool asked.
From your agent
The find_references MCP tool returns the recorded references to an entity for Claude Code, Cursor, Codex, Gemini, and other MCP clients.
In the editor
The VS Code surface traces references and dependencies where you are already reading the code.
Beside a change
Pair it with kin impact to see the blast radius of the edit you are about to make.
Honest limits
An empty list is an answer with a confidence attached.
No references found can mean nothing uses this, or it can mean coverage is incomplete. Kin distinguishes the two: every retrieval answer carries a negative object, and its safe_to_conclude_absent field says whether the absence can be trusted before you delete anything. Kin is early alpha software, and an honest miss is worth more than a confident wrong answer.
Available now, public alpha
Next step
Ask your first caller question.
Install Kin, initialize one repository, and ask your agent what references the function you know best.