Skip to main content
Indexed Logo

Index everything. Code, docs, and knowledge — 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, Jira, and Confluence.

Key Features:

  • Privacy-first — all processing and storage happens locally, no data sent to third parties
  • Semantic search — understands meaning, not just keywords, using dense vector embeddings
  • Multiple sources — index local files (25+ formats), Jira, and Confluence (Cloud & Server)
  • 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 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 and Confluence connectors pull tickets, pages, and metadata into your index.
  • Not cloud-dependent. Runs entirely on your machine. Local embedding models, FAISS for vector storage. No API keys required.
  • Not one-shot. Incremental updates via indexed index update keep your index fresh as your codebase evolves.

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

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
indexed index create files --collection my-project --path ./src
indexed index create jiraCloud --collection jira-issues
indexed index create confluenceCloud --collection wiki

# Search
indexed index search "authentication flow"
indexed index search "bug reports" --collection jira-issues

# 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

# 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.

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 the internal package docs and CLAUDE.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!

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

indexed_sh-0.0.7.tar.gz (202.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

indexed_sh-0.0.7-py3-none-any.whl (273.8 kB view details)

Uploaded Python 3

File details

Details for the file indexed_sh-0.0.7.tar.gz.

File metadata

  • Download URL: indexed_sh-0.0.7.tar.gz
  • Upload date:
  • Size: 202.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for indexed_sh-0.0.7.tar.gz
Algorithm Hash digest
SHA256 1f090ef80d9a8bfdfc65cd6d4dd0ec0dbd16a6a092bb6f4c503060e75d79f51a
MD5 028fe8d501d1b0836170af3f8abb498c
BLAKE2b-256 74386d1dfb1fc30c052391ede31df1eb79e3f5d77999c7d2d0f7cd2d1ba04f30

See more details on using hashes here.

Provenance

The following attestation bundles were made for indexed_sh-0.0.7.tar.gz:

Publisher: python-release-ci.yml on LennardZuendorf/indexed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file indexed_sh-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: indexed_sh-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 273.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for indexed_sh-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1cea5114e36e4a493b2225d8135c68d78d8ae25c1125f80dd74f5fb5d5cf2664
MD5 c8eb45c40430fa56ec4716c16d794121
BLAKE2b-256 39acfe554df1c69c3cdad59aff6f11d8b3d1a05c6f7a18ba048c4914bd877fde

See more details on using hashes here.

Provenance

The following attestation bundles were made for indexed_sh-0.0.7-py3-none-any.whl:

Publisher: python-release-ci.yml on LennardZuendorf/indexed

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.0.8

2 files

This release

0.0.7 This release

2 files

0.0.6

1 file

0.0.5

1 file

0.0.4

1 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