> For the complete documentation index, see [llms.txt](https://kerno.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kerno.gitbook.io/docs/code-intelligence-tools-kit/quickstart.md).

# Quickstart

{% hint style="info" %}
**Already using Kerno?** If you have Kerno installed and your agent connected, skip to [Step 4.](#step-4-disable-tools-you-dont-need)
{% endhint %}

### Prerequisites

Before you begin, make sure you have:

* Node.js 18+ installed
* Docker running on your machine
* Git initialized in your project
* A TypeScript, JavaScript, or Python project

### Step 1 — Install Kerno

Install the Kerno CLI globally or run it directly with npx:

```bash
npm install -g @kerno/cli
```

Or without installing:

```bash
npx @kerno/cli mcp
```

### Step 2 — Start the Kerno agent

From your project directory, run:

```bash
kerno mcp
```

To specify a path explicitly:

```bash
kerno mcp -w /path/to/your/project
```

Kerno will open a browser window to authenticate you, then print the MCP configuration for your coding tool.

### Step 3 — Connect your coding agent

Add the MCP server to your coding agent using the configuration printed in the previous step. Any

{% hint style="info" icon="lightbulb" %}
Any MCP-compatible coding tool can connect using the same URL.
{% endhint %}

**Claude Code:**

```bash
claude mcp add --transport http kerno http://localhost:<port>/mcp
```

**Cursor:** Add to `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "kerno": {
      "url": "http://localhost:<port>/mcp",
      "transport": "http"
    }
  }
}
```

{% hint style="warning" %}
The port is session-specific. Always copy it from your terminal output, do not assume a default.
{% endhint %}

### Step 4 — Disable tools you don't need (optional)

If you are using Kerno for code intelligence only, you can disable the environment, baseline, and validation tools in your agent's MCP settings. How to disable individual tools varies by agent — refer to your agent's documentation.

The tools KIT needs:

* `kerno_sync_workspace`
* `kerno_list_endpoints`
* `scan_workspace`
* `index_module`
* `package_heatmap`
* `symbol_heatmap`
* `find_usages`
* `find_definition`
* `find_references`
* `call_hierarchy`
* `list_build_files`

For a full breakdown of available tools, see [KIT tools reference](/docs/code-intelligence-tools-kit/kit-tools-reference.md).

### Step 5 — Index your codebase

Ask your agent to scan and index your workspace:

> "Use Kerno to index this project"

Kerno will scan your repository, detect modules, and build the SCIP index. The first index takes a few minutes depending on the size of your codebase. Subsequent runs reuse the existing index and update only what changed.

### What's next

Your agent now has a complete map of your codebase. Try asking it:

> "What does calling this function affect across the codebase?"\
> \
> "Find all usages of this interface."\
> \
> "Show me the full call chain from this method."

For a full breakdown of available tools, see Tools Reference.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://kerno.gitbook.io/docs/code-intelligence-tools-kit/quickstart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
