v1.2 — macOS · Open Source

Your Documents.
Your AI.
Your Machine.

Indexa is a free, local-first macOS app for building private AI-powered knowledge bases. Ask questions across your documents, share encrypted bundles, and connect to any AI tool — with no data ever leaving your computer.

Download Free View on GitHub

Requires Ollama · Apple Silicon or Intel · No account needed

✓  100% free — including encrypted exports
Claude Desktop LM Studio Cursor Ollama Any OpenAI-compatible client
Indexa — Research Notes
What are the key findings on ML inference latency?
paper_2024.pdf · 0.94
notes_march.md · 0.87
benchmark.txt · 0.81
Free & open source
MCP server built-in
OpenAI-compatible API
No account · No telemetry · No cloud
How It Works

From documents to answers
in four steps.

01 ——
📦

Install Ollama

Download Ollama (free, open source) and pull an embedding and chat model. Indexa auto-connects on launch — no configuration needed.

02 ——
📁

Build Your Knowledge Base

Drag in files or paste URLs. Indexa ingests 15+ formats, crawls websites, and uses hybrid search for the most accurate retrieval.

03 ——
💬

Ask Anything

Ask natural language questions in multi-turn conversations. Get streaming AI answers with source citations and relevance scores.

04 ——
🔌

Connect & Share

Use the MCP server with Claude Desktop or Cursor, query via OpenAI-compatible API, or export encrypted .indexa bundles.

MCP & API Integration

Plug your knowledge base into
any AI tool.

Indexa ships with a built-in MCP (Model Context Protocol) server and a fully OpenAI-compatible API. Connect Claude Desktop, LM Studio, Cursor, or any OpenAI client directly to your local knowledge bases.

🤖

MCP Server — Claude Desktop & Cursor

SSE + HTTP transport with three tools: query, search, and list_collections. Works with stdio clients via mcp-remote bridge.

⚡

OpenAI-Compatible API

Drop-in replacement for OpenAI clients. Collections appear as models. Supports /v1/chat/completions and /v1/models — no code changes needed.

🔍

Hybrid Search

BM25 keyword search + semantic vector search, merged via Reciprocal Rank Fusion. Optional query decomposition and LLM reranking for complex questions.

💬

Multi-Turn Conversations

Full conversation history with context. Cross-collection search lets you query all your knowledge bases at once in a single question.

Claude Desktop LM Studio Cursor Ollama Any OpenAI client
claude_desktop_config.json JSON
// Add Indexa to Claude Desktop
{
  "mcpServers": {
    "indexa": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://localhost:11435/mcp"
      ]
    }
  }
}
OpenAI-compatible query Python
from openai import OpenAI

client = OpenAI(
  base_url="http://localhost:11435/v1",
  api_key="your-api-key"
)

response = client.chat.completions.create(
  model="Research Notes", # your collection
  messages=[{
    "role": "user",
    "content": "Summarize the key findings"
  }]
)
Features

Everything included.
Nothing held back.

📄

15+ File Formats

PDF, DOCX, TXT, Markdown, RTF, HTML, XLSX, PPTX, JSON, XML, YAML, CSV, log files, and source code. Drag and drop directly into the app.

🌐

Web Scraping & Crawling

Paste a URL to index a single page or crawl an entire site with configurable depth and page limits. SHA-256 change detection keeps content fresh automatically.

🔍

Hybrid Search

BM25 keyword + semantic vector search merged via Reciprocal Rank Fusion. Optional query decomposition and LLM reranking for complex, multi-part questions.

New in v1
🗂

Collections

Organize documents into named collections with custom system prompts, refresh intervals, and query context. Cross-collection search available.

🔒

Collection Protection

Password-protect in two modes: Sources Masked — answers only, no citations — or Read Only — view and query, no modifications. PBKDF2 with timing-safe comparison.

✨

AI Distillation

AI rewrites documents for better retrieval accuracy while preserving all facts, names, and technical details. Checkpoint recovery means long distillations survive crashes.

📦

AES-256 Encrypted Exports

Export as portable .indexa bundles with AES-256-GCM encryption and PBKDF2 key derivation. Recipients query your knowledge — never your sources.

🤝

Multi-Provider Support

Ollama by default, or any OpenAI-compatible server. Use separate providers for chat and embeddings. Per-provider API keys and connection testing.

🔄

Auto-Refresh

Web sources re-index on a schedule — hourly, daily, or weekly. SHA-256 content hashing means only changed content triggers a re-ingest.

REST API

A complete API.
OpenAI-compatible.

Indexa runs a local HTTP server on port 11435. It speaks native REST and OpenAI-compatible endpoints — so existing tooling just works, no code changes required.

API key authentication, CORS restricted to localhost, and rate limiting on password attempts (10 tries, 5-minute lockout). Protection-aware — masked collections strip sources from all API responses automatically.

GET
/v1/health
Health check and server status
GET
/v1/collections
List all collections (respects protection)
POST
/v1/query
Query with search mode, reranking, and decomposition options
GET
/v1/models
OpenAI-compatible model listing — collections as models
POST
/v1/chat/completions
OpenAI-compatible chat completions endpoint
GET
/mcp
MCP SSE transport for Claude Desktop, Cursor, LM Studio
Supported Formats

If it has text,
Indexa can index it.

.pdf .docx .txt .md .rtf / .rtfd .html .xlsx .pptx .json .xml .yaml .csv .log Source code Web URLs Site crawls
Privacy-First

100% local.
Zero telemetry.

✓

No data leaves your machine

All document processing, indexing, and querying happens locally via Ollama. Nothing is sent to any cloud service.

✓

No account required

Download, install, and use. No sign-up, no external API keys, no subscription.

✓

Zero telemetry or analytics

Indexa collects no usage data. Your documents, queries, and knowledge bases are yours alone.

✓

Works fully offline

After a one-time model download via Ollama, Indexa requires no internet connection whatsoever.

IndexaCloud AI
Data stays local✓✗
Works offline✓✗
No account needed✓✗
Zero telemetry✓✗
Encrypted exports✓✗
MCP + API included✓✗
Enterprise

Built for teams
who need control.

Indexa is free for individuals. For organizations that need server-managed access control, user provisioning, and audit logging — enterprise features are on the roadmap. If that's you, we'd like to hear from you.

🔑

Server-Validated Access

Knowledge base access controlled by your server. Revoke an associate's access instantly — the bundle stops working on their machine immediately.

👥

User Management

Provision and deprovision users centrally. Define who can access which knowledge base without touching the bundle files.

📋

Audit Logs

See who queried what and when. Essential for compliance in legal, healthcare, and financial environments.

🏢

Self-Hosted Option

Run the access control server on your own infrastructure. Consistent with Indexa's privacy-first design — no data leaves your environment.

Interested in Enterprise?

We're building enterprise features based on real demand. If your team needs server-managed access control, reach out — we'd love to learn about your use case.

[email protected]
Law Firms

Distribute curated knowledge bases to associates. Revoke access when they leave. Audit every query.

Consultants

Share proprietary methodology with clients on a project basis. Access expires when the engagement ends.

Healthcare

Distribute clinical knowledge bases to staff without exposing source documents or patient data.

Research

Share indexed findings with collaborators while keeping raw datasets protected and access audited.

Under the Hood

Built native.
Zero external dependencies.

Platform
macOS · Native SwiftUI + AppKit · Swift 6
Concurrency
Actor-based (KnowledgeEngine, OllamaService, HTTPServer, WebScraper)
Database
SQLite3 (raw C API) + FTS5 for hybrid keyword search
Search
Cosine similarity + BM25 via Reciprocal Rank Fusion
Embeddings
nomic-embed-text via Ollama (768-dim) · batch processing
Encryption
AES-256-GCM (CryptoKit) + PBKDF2 (CommonCrypto, 100k iterations)
HTTP Server
Apple Network framework (NWListener) · port 11435
MCP Transport
SSE + HTTP POST · 30-second keepalive
Compression
LZFSE (Apple built-in) + Gzip for bundles
Sandbox
App Sandbox · network client + server entitlements
Download

Free. Local. Yours.
No strings attached.

Full feature set — MCP server, OpenAI API, encrypted exports. No account. No telemetry. Runs entirely on your Mac.

Download for macOS Get Ollama First → View Source

Requires Ollama · ollama pull nomic-embed-text · Apple Silicon or Intel