Local-first semantic search for AI agents. Give Claude Code, Cursor, Codex, and other MCP-compatible agents deep context over your codebase, docs, issues, and wikis — no source read in isolation.
Key Features:
- Privacy-first — all processing and storage happens locally, no data sent to third parties
- Semantic search — understands meaning, not just keywords, using a LlamaIndex-powered engine with optional cross-encoder reranking
- Multiple sources — local files (25+ formats), Jira, Confluence, Outline Wiki, and GitHub (issues, PRs, Projects v2)
- MCP integration — works with Claude Code, Cursor, Windsurf, Cline, and other MCP-compatible agents
- Incremental updates — keep your index fresh with git-based change tracking
Quick Start
# 1. Install indexed globally
uv tool install indexed-sh
# 2. Create a collection from local files
indexed index create files --collection my-project --path ./src
# 3. Search your collection
indexed index search "your query"
Why Indexed?
AI agents search your codebase on demand with grep — fast for small repos, but expensive on large ones. Every file read costs tokens. Every broad search burns context window.
Indexed pre-computes a semantic search index over your code, docs, and project tools, then exposes it via MCP. The result: instant, relevant context retrieval without the token overhead.
- Not just search. A single index over one source is the easy part — every RAG toolkit does that. The hard, useful part is that no single source has the answer: code doesn't explain why, a ticket doesn't show what shipped, history doesn't say if it's still true. Indexed's direction is one merged knowledge base per project — code, docs, issues, and wikis tied together, not five indexes you query separately. See
.spec/product.md§ Vision for where this is headed (structural graph relationships, graph-aware retrieval, optional local-model-driven merging). - Not just code. Index Markdown, PDFs, DOCX, PPTX, images, and 25+ formats via Docling. AST-aware code chunking via tree-sitter.
- Not just local files. Native Jira, Confluence, Outline Wiki, and GitHub connectors pull tickets, pages, issues, and PRs into your index.
- Not cloud-dependent. Runs entirely on your machine. Local embedding models, FAISS or LlamaIndex-managed vector storage. No API keys required.
- Not one-shot. Incremental updates via
indexed index updatekeep your index fresh as your sources evolve.
MCP Integration
Indexed exposes a Model Context Protocol server for AI agent integration.
Claude Code (CLI, VS Code, JetBrains)
Works across all Claude Code surfaces — CLI, VS Code extension, and JetBrains plugin:
claude mcp add indexed -- indexed mcp run
This adds indexed to your project's .mcp.json. You can also manage servers via /mcp in the VS Code chat panel.
To add manually, create or edit .mcp.json in your project root:
{
"mcpServers": {
"indexed": {
"command": "indexed",
"args": ["mcp", "run"]
}
}
}
Cursor / Windsurf / Other Agents
Add to your agent's MCP configuration file:
{
"mcpServers": {
"indexed": {
"command": "indexed",
"args": ["mcp", "run"]
}
}
}
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"indexed": {
"command": "indexed",
"args": ["mcp", "run"]
}
}
}
Server Mode
# HTTP server mode
indexed mcp run --transport http --port 8000
Supported Sources
| Source | Description |
|---|---|
| Local Files | .pdf, .docx, .pptx, .md, code files, images, and 25+ formats |
| Jira | Cloud and Server/Data Center with JQL filtering |
| Confluence | Cloud and Server/Data Center with CQL filtering |
| Outline Wiki | Cloud or self-hosted, with attachments and OCR |
| GitHub | Issues, PR threads, and Projects v2 boards — github.com, GHE, or self-hosted GHES |
Installation
Requires Python 3.11+ and uv.
uv tool install indexed-sh
This installs indexed as a global CLI tool from PyPI.
Alternative: run without installing
uvx indexed-sh index search "your query"
Alternative: install from source
git clone https://github.com/LennardZuendorf/indexed.git
cd indexed
uv sync
uv run indexed --help
Usage
# Create collections (Jira/Confluence auto-detect Cloud vs Server from --url)
indexed index create files --collection my-project --path ./src
indexed index create jira --collection jira-issues --url https://your-domain.atlassian.net
indexed index create confluence --collection wiki --url https://your-domain.atlassian.net/wiki
indexed index create outline --collection docs
indexed index create github --collection my-repo --repo owner/repo
indexed index create files --collection my-app --path ./src --engine v2
# Search
indexed index search "authentication flow"
indexed index search "bug reports" --collection jira-issues
indexed index search "why was this refactored" --rerank # v2 collections only
# Manage collections
indexed index inspect # list all collections
indexed index inspect my-project # inspect specific collection
indexed index update my-project # update a collection
indexed index remove my-project # delete a collection
indexed index migrate my-project # migrate to the v2 engine
# Configuration
indexed config inspect # view config
indexed config set search.max_docs 20 # set a value
For the full CLI reference and configuration guide, see the documentation.
Roadmap
Indexed today runs parallel semantic indexes per source. The direction is one merged
knowledge graph per project — code, docs, issues, git history, connected codebases, and
accumulated lessons/memory as one structure instead of several. See
.spec/product.md § Vision and § Knowledge Graph for what's shipped
vs. planned.
Documentation
- Full Documentation — CLI reference, configuration, and guides
- Blog & Guides — tutorials and use cases
- Issue Tracker — report bugs or request features
Contributing
git clone https://github.com/LennardZuendorf/indexed.git
cd indexed
uv sync --all-groups
uv run pytest -q
Performance benchmarks (tests/benchmarks/, tests/system/) run in CI via
pytest-bench-action
— see .github/workflows/python-benchmark.yml. Run them locally with:
uv run pytest tests/system tests/benchmarks --benchmark-only
See AGENTS.md and .spec/tech.md for architecture details.
License
See LICENSE file for details.
Credits
The Core v1 implementation is based on documents-vector-search by shnax0210, licensed under MIT and modified extensively.
indexed.sh · Star the repo if you find it useful!
Metadata
Release files for indexed-sh 0.0.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| indexed_sh-0.0.9.tar.gz | 264.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| indexed_sh-0.0.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 616.0 kB
Release files / indexed_sh-0.0.9.tar.gz
| Download URL | indexed_sh-0.0.9.tar.gz |
|---|---|
| Size | 264.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5f79afb8039968db8b1c77cce098297414488da697247caf59a6b924c5dabd3
|
|
BLAKE2b-256 checksum How to use checksums |
fccc6126ce2a9514d16e8535cc800e2c414a8e40d87cef8ca1206899066472de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency logRelease files / indexed_sh-0.0.9-py3-none-any.whl
| Download URL | indexed_sh-0.0.9-py3-none-any.whl |
|---|---|
| Size | 351.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d50622e3bbfba39dde2e4f18a045ec444113c7fd8284c135ad2e97d0dd285ae5
|
|
BLAKE2b-256 checksum How to use checksums |
ba151f70c6aa624b41ce90e8c76b8192ac3ad17fded12d177d323745c81608af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.
Transparency log