Metadata-Version: 2.5
Name: indexed-sh
Version: 0.0.7
Summary: CLI and MCP server for semantic document search with AI agent integration
Project-URL: Homepage, https://indexed.sh
Project-URL: Repository, https://github.com/LennardZuendorf/indexed
Project-URL: Issue Tracker, https://github.com/LennardZuendorf/indexed/issues
Author-email: Lennard Zündorf <lennard@zuendorf.me>
License: See LICENSE file
License-File: LICENSE
Keywords: ai,cli,faiss,mcp,rag,semantic-search
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.11
Requires-Dist: art>=6.0
Requires-Dist: atlassian-python-api>=3.41.16
Requires-Dist: bs4>=0.0.2
Requires-Dist: docling-core[chunking]>=2.8.0
Requires-Dist: docling>=2.70.0
Requires-Dist: faiss-cpu>=1.11.0
Requires-Dist: fastmcp<4,>=3.2.4
Requires-Dist: httpx>=0.27
Requires-Dist: langchain-text-splitters>=0.3.0
Requires-Dist: loguru>=0.7.0
Requires-Dist: mcp>=1.13.0
Requires-Dist: onnxruntime>=1.17.0
Requires-Dist: orjson>=3.10.0
Requires-Dist: pathspec>=0.12
Requires-Dist: pydantic>=2.5.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: requests>=2.32.0
Requires-Dist: rich>=13.7.0
Requires-Dist: sentence-transformers>=5.2.0
Requires-Dist: tomlkit>=0.12.0
Requires-Dist: tree-sitter-c>=0.23
Requires-Dist: tree-sitter-cpp>=0.23
Requires-Dist: tree-sitter-go>=0.23
Requires-Dist: tree-sitter-java>=0.23
Requires-Dist: tree-sitter-javascript>=0.23
Requires-Dist: tree-sitter-python>=0.23
Requires-Dist: tree-sitter-rust>=0.23
Requires-Dist: tree-sitter-typescript>=0.23
Requires-Dist: tree-sitter>=0.23
Requires-Dist: typer>=0.12.3
Requires-Dist: xxhash>=3.0
Description-Content-Type: text/markdown

<div align="center">

<img src="./docs/img/logo.png" alt="Indexed Logo" width="500"/>

### Index everything. Code, docs, and knowledge — one MCP, zero cloud.

[![License: Sustainable Use](https://img.shields.io/badge/License-Sustainable%20Use-blue)](#license)
[![Python 3.11+](https://img.shields.io/badge/Python-3.11+-3776AB?logo=python&logoColor=white)](#)
[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-5A45FF)](#mcp-integration)

[![Python Full Test Suite with Coverage](https://github.com/LennardZuendorf/indexed/actions/workflows/python-cov.yml/badge.svg)](https://github.com/LennardZuendorf/indexed/actions/workflows/python-cov.yml) [![Python Build and System Tests](https://github.com/LennardZuendorf/indexed/actions/workflows/python-ci.yml/badge.svg)](https://github.com/LennardZuendorf/indexed/actions/workflows/python-ci.yml) [![Python Performance Benchmarks](https://github.com/LennardZuendorf/indexed/actions/workflows/python-benchmark.yml/badge.svg)](https://github.com/LennardZuendorf/indexed/actions/workflows/python-benchmark.yml) [![codecov](https://codecov.io/gh/LennardZuendorf/indexed/graph/badge.svg?token=6P99FW1Z1A)](https://codecov.io/gh/LennardZuendorf/indexed)

[Quickstart](#quick-start) · [Documentation](https://indexed.sh/docs) · [Blog & Guides](https://indexed.sh/blog)

</div>

---

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

```bash
# 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:

```bash
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:

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

### Cursor / Windsurf / Other Agents

Add to your agent's MCP configuration file:

```json
{
  "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):

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

### Server Mode

```bash
# 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](https://docs.astral.sh/uv/)**.

```bash
uv tool install indexed-sh
```

This installs `indexed` as a global CLI tool from [PyPI](https://pypi.org/project/indexed-sh/).

<details>
<summary>Alternative: run without installing</summary>

```bash
uvx indexed-sh index search "your query"
```

</details>

<details>
<summary>Alternative: install from source</summary>

```bash
git clone https://github.com/LennardZuendorf/indexed.git
cd indexed
uv sync
uv run indexed --help
```

</details>

## Usage

```bash
# 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](https://indexed.sh/docs).

## Documentation

- [Full Documentation](https://indexed.sh/docs) — CLI reference, configuration, and guides
- [Blog & Guides](https://indexed.sh/blog) — tutorials and use cases
- [Issue Tracker](https://github.com/LennardZuendorf/indexed/issues) — report bugs or request features

## Contributing

```bash
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`](https://github.com/LennardZuendorf/pytest-bench-action)
— see `.github/workflows/python-benchmark.yml`. Run them locally with:

```bash
uv run pytest tests/system tests/benchmarks --benchmark-only
```

See the internal package docs and `CLAUDE.md` for architecture details.

## License

See [LICENSE](./LICENSE) file for details.

## Credits

The Core v1 implementation is based on [documents-vector-search](https://github.com/shnax0210/documents-vector-search) by shnax0210, licensed under MIT and modified extensively.

---

**[indexed.sh](https://indexed.sh)** · Star the repo if you find it useful!
