Skip to main content
Indexed Logo

One local knowledge base per project. Code, docs, issues, wikis — one MCP, zero cloud.

License: Sustainable Use Python 3.11+ MCP Compatible

Python Full Test Suite with Coverage Python Build and System Tests Python Performance Benchmarks codecov

Quickstart · Documentation · Blog & Guides


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 update keep 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

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)

Source distribution for indexed-sh 0.0.9
File Size Uploaded
indexed_sh-0.0.9.tar.gz 264.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for indexed-sh 0.0.9
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.0.9 This release

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page