Quick Start
Quick Start
By the end of this guide, you will have Indexed installed, a collection indexed, and a working search that any MCP-compatible AI agent can use — all in under 5 minutes.
Prerequisites
- Python 3.10 or later (
python3 --version) - pip — usually included with Python
- A folder with at least a few text files, Markdown, or PDFs to index
Install Indexed
Install the indexed-sh package and run the indexed CLI.
uv tool install indexed-shVerify:
indexed --helppip install indexed-sh
indexed --helpUse uvx to run Indexed without installing a persistent tool:
uvx indexed-sh --helpgit clone https://github.com/LennardZuendorf/indexed.git
cd indexed
uv sync
uv run indexed --helpSource installs use uv run
From a clone, always use uv run indexed … (for example uv run indexed config init, uv run indexed mcp run).
First sync downloads ML models
uv sync installs Docling and tree-sitter language grammars, which bundle ~200 MB of ML models (OCR, layout analysis). This is a one-time download — no network calls are needed at runtime.
docker build -t indexed .
docker run indexed --helpFor HTTP transport (typical for containers and remote clients), see indexed mcp run in the MCP commands reference.
Initialize Your Workspace
Two different commands run at different times:
| Command | What it does |
|---|---|
indexed config init | Writes workspace files: a .indexed/ directory (in the current working directory) with config.toml and .env.example. |
indexed init | Downloads the default embedding model, creates supporting directories, and validates setup. Run after config init (or when you only need models/dirs refreshed). |
indexed config init creates the layout in your current working directory. For a personal default under ~/.indexed/, run it from your home directory:
cd ~
indexed config initCollections are stored under ~/.indexed/data/collections/<name>/ unless you pass --local on indexed index create (then they live under ./.indexed/ in that project). See the Configuration Guide for layout, credentials, and tuning.
Then download embedding models and finish setup:
indexed initFrom source, prefix both: uv run indexed config init and uv run indexed init. See indexed init --help for --skip-model and --model options.
Index a Folder
Point Indexed at any folder with documents — your project's docs/ directory, a folder of Markdown files, or a directory with a few READMEs.
indexed index create files -c my-docs -p ./docsIndexing collection 'my-docs'...
Parsed 12 documents
Created 47 chunks
Generated embeddings
✓ Collection 'my-docs' created (47 chunks, 3.2 MB)No docs folder handy?
Use any directory with text files. Indexed supports PDF, DOCX, Markdown, TXT, HTML, and many more formats.
Search It
indexed index search "authentication guide"Results for 'authentication guide' (top 5):
1. [my-docs] auth-setup.md (chunk 2/4)
Score: 0.82
...To configure SSO authentication, first set up your identity
provider with the following SAML settings...
2. [my-docs] onboarding.md (chunk 5/8)
Score: 0.74
...New team members should request access through the auth
portal at auth.internal.company.com...Notice how the search found documents about "SSO authentication" and "access through the auth portal" — even though we searched for "authentication guide." That's semantic search at work: embeddings capture meaning rather than matching keywords. The phrase "SSO refresh" matched "auth token rotation" in the example above because both describe the same concept; the model understands that conceptual similarity, not just string overlap.
Connect to Claude Desktop
Minimal MCP wiring (stdio): add Indexed to mcpServers with command indexed and args mcp, run. Restart Claude Desktop after saving.
{
"mcpServers": {
"indexed": {
"command": "indexed",
"args": ["mcp", "run"]
}
}
}Full paths (macOS, Linux, Windows), local storage, JSON examples, PATH checks (which / where), and troubleshooting are in Claude Plugin Integration. For Cursor, GitHub Copilot, Codex, and other agents, see MCP Setup.
Verify CLI and MCP
Optional smoke checks after install and MCP wiring:
indexed --help
indexed index inspect
indexed mcp inspect
indexed index search "test query"From source, prefix each line with uv run (for example uv run indexed mcp inspect).
Update Your Collection
When your documents change, re-fetch and re-embed only what's new:
indexed index update my-docsUpdating collection 'my-docs'...
Before: 12 documents, 47 chunks
After: 14 documents, 53 chunks
✓ Collection 'my-docs' updatedIndexed detects which files changed since the last index and re-processes only those. For git repos, it uses git diff automatically; for non-git folders it falls back to content hashing.