Connect tools
Connect your coding agent.
Let the AI tool you already use ask Kin about your code and its connections. Start with the shared setup below, then check the instructions for your client.
Documentation
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
Start
Work with code
Connect tools
Understand Kin
Reference
Troubleshoot
How this works in Kin
Kin ships an MCP server, so the agent you already use can ask the repository graph instead of reading files. One command configures every client Kin detects, and it proves each entry answers before it says it is done.
Start with a disposable copy of your code. Examples below were checked on a specific build; language and workflow support are limited.
Check the example version and setup
Supported build
Every command below was run on Kin v0.7.6, macOS on Apple silicon, on 2026-09-09, against a four-file JavaScript repository created from scratch. The output shown is what that run printed. Current release: v0.7.19.
Before you start
- Kin on your PATH, and a repository admitted with kin init. The MCP server answers about a repository, so there has to be one.
- An MCP client installed on the same machine. Kin detects clients by the configuration paths they use, so a client that has never run may not be detected yet.
- A shell you can restart. Setup adds a hook to your shell startup file, and a client reads its configuration at launch.
The steps
- 01
Configure every client Kin detects
One command writes the MCP entry for each detected client, then launches each entry the way that client would and checks that it answers.
kin setup --intent agentCompare with the saved example output
AI client MCP configuration: ✓ Claude Code configured (~/.claude.json) ✓ Cursor configured (~/.cursor/mcp.json) ✓ Codex CLI configured (~/.codex/config.toml) bound to repository /private/tmp/docsverify-workflows/kin-orders ✓ Gemini CLI configured (~/.gemini/settings.json) ✓ Google Antigravity configured (~/.gemini/config/mcp_config.json) bound to repository /private/tmp/docsverify-workflows/kin-orders → Windsurf not detected (install from windsurf.com)One row per client, naming the file it wrote. A client it cannot find is reported as not detected rather than skipped silently. The home paths above are shortened; the run wrote them under an isolated HOME.
- 02
Watch it prove each entry answers
Writing a configuration file is not evidence that a client can talk to Kin. Setup launches each entry it just wrote and asks the graph one question.
kin setup --intent agentCompare with the saved example output
MCP round trip (launching each configured client's own entry): ✓ Claude Code: kin_graph_status answered 10 entities, 74 relations ✓ Cursor: kin_graph_status answered 10 entities, 74 relations ✓ Codex CLI: kin_graph_status answered 10 entities, 74 relations ✓ Gemini CLI: kin_graph_status answered 10 entities, 74 relations ✓ Google Antigravity: kin_graph_status answered 10 entities, 74 relationsA round trip per client, with the answer it got. This is the strongest signal on the page: the entry Kin wrote starts a server that answers about your repository. It says nothing about the client user interface, which you check next.
- 03
Confirm what is registered
Read the configuration back rather than trusting that the write happened. Status reports one row per client with the file and the tool profile.
kin setup statusCompare with the saved example output
✓ MCP: Claude Code ok mcpServers.kin present with agent-default profile (~/.claude.json) ✓ MCP: Cursor ok mcpServers.kin present with agent-default profile (~/.cursor/mcp.json) ✓ MCP: Codex CLI ok mcp_servers.kin present with agent-default profile (~/.codex/config.toml) ✓ MCP: Gemini CLI ok mcpServers.kin present with agent-default profile (~/.gemini/settings.json) ✓ Semantic query readiness ok daemon graph reports 20/20 embeddings indexed, 0 pendingEvery client you expect, plus the readiness row. Setup status also reports the shell hook, the daemon and the install ledger; the excerpt above is the MCP part. Add --json for the same rows as machine-readable output.
- 04
Restart the client, then ask it something
A client reads its MCP configuration when it launches. Until you restart it, it does not know Kin exists.
kin graph statusCompare with the saved example output
Entities: 10 (live query graph, definitions this repository owns) | Entity-to-entity relations: 66 | Files: 4 (files those entities originate in) Embeddings: 20/20 indexed (0 pending)Ask your agent for the callers of a function you already know, then run the same question here and compare. The tools an agent should reach for first are semantic_locate to find something by meaning, get_context_pack for a bundle around an entity or file, and find_references for recorded references. Every response carries a freshness and coverage envelope: read that before acting on an absence.
When the answer looks wrong
An empty or partial answer can reflect coverage, repository state, or an error. Each row below says what the state means and what to do next.
The client shows no Kin tools.
It has not read the configuration Kin wrote, which happens at launch.
Quit the client fully and start it again, then run kin setup status to confirm the entry is still there.
no managed binary exists at ...; this path is a source checkout, a scratch build or a package-manager install that Kin does not manage
Setup registered the binary you are running, and it is not one Kin installed, so kin update will not repair client configurations that point at it.
Fine for an evaluation. For a machine you keep, install through the installer or npm and run setup again so the managed binary is the one registered.
A client you use is reported as not detected.
Kin looks for the configuration paths a client uses, and that client has not created one here.
Launch the client once so it writes its own configuration, then run setup again.
The agent answers about code that is no longer there.
The graph may be stale, incomplete, or incorrect.
Run kin graph status and check the revision and coverage, then ask again. If the mismatch remains after the documented update workflow, report a minimal example.
An agent reports that something has no callers.
The current graph may contain no recorded callers for that entity. That does not establish that no callers exist in the source: enrichment may not have finished, or the caller may be in a language with no adapter.
Check the coverage envelope on the response and the readiness line above before treating an absence as a fact.
Supported clients
Select your coding agent to review its configuration file location and client-specific setup:
Next action
Pick your client and check the one thing that differs.
The setup above is the same for every client. What differs is the file it lives in, its format, and whether the entry is pinned to one repository. Each client page carries only that.
Claude Code setup