# For AI agents (MCP)

> Give Claude Code, Cursor, Claude Desktop or VS Code local tools for folder search, transcription, classification, reranking and similarity with kjarni mcp.

Source: https://kjarni.ai/docs/mcp/ (published 2026-10-30)

`kjarni mcp` serves Kjarni to any MCP client as tools that run on your machine, with no
API key. It comes with the [command line tool](@/docs/install.md).

## Add it to your client

Claude Code:

```bash
claude mcp add kjarni -- kjarni mcp
```

Cursor, Claude Desktop, VS Code and other clients take the same command in their MCP
configuration:

```json
{ "mcpServers": { "kjarni": { "command": "kjarni", "args": ["mcp"] } } }
```

## Tools

| Tool | What it does | Arguments |
|---|---|---|
| `search_folder` | Finds passages in a folder of documents or code, by meaning and by keyword | `path`, `query`, `mode` (`hybrid`, `semantic` or `keyword`), `top_k`, `rerank` |
| `transcribe` | Speech to text with Whisper, with timestamps. Takes wav, mp3, flac or ogg | `path` |
| `classify` | Sentiment, emotion or toxicity of a text | `text`, `model` |
| `rerank` | Orders passages by how well each answers a query | `query`, `documents` |
| `similarity` | Cosine similarity of two texts, from -1 to 1 | `a`, `b` |

`path` is an absolute path. Models download the first time a tool needs them and stay
loaded for the session. A first download can take longer than a client's tool timeout,
so fetch large models beforehand:

```bash
kjarni model download minilm-l6-v2
kjarni model download whisper-small
```

## Folder search

The first search of a folder builds an index, and later searches reuse it until the
files change. Indexes are kept in Kjarni's cache, never in your folder. From 0.2.8,
build output, dependencies and hidden folders are skipped: `target`, `node_modules`,
`dist`, `build`, `out`, `bin`, `obj`, `vendor`, `venv`, `__pycache__`, `*.min.js` and
anything starting with a dot.

## Privacy

The models run locally, and nothing is sent anywhere by Kjarni. The results do go to
your agent, so a passage from `search_folder` or a transcript reaches whatever model
that agent uses. If the agent runs in the cloud, treat tool results as you would any
file you show it.
