Indexed
Searching your IndexAI Agent Integration

Claude Plugin

Connect Indexed to Claude Desktop via MCP so Claude can search your local collections in any conversation.

Claude Plugin Integration

By the end of this guide, you will have Indexed running as a plugin for Claude Desktop, and you will have verified the connection with a test query.

How It Works

When you add Indexed to Claude Desktop's config, Claude Desktop launches indexed mcp run as a subprocess each time it starts. Claude then has access to MCP tools that query your index over stdio (no network port is opened by default).

What Claude Can Do

Once connected, Claude can:

  • Call search with a query to search across all collections
  • Call search_collection with a collection name and query to target one collection
  • Use collection metadata to see what is indexed

Claude typically invokes these tools when your questions match content you have indexed.

Prerequisites

  • Indexed installed — confirm the CLI works (indexed --help)
  • At least one collection created (for example indexed index create files -c my-docs -p ./documents)
  • Claude Desktop installed

Find Your Config File

~/Library/Application Support/Claude/claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json

If the file doesn't exist, create it. If it exists and already has an mcpServers key, add the indexed entry alongside the existing entries.

Add the Indexed Entry

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

Save the file.

Using local storage (optional)

By default, Indexed uses your global store under ~/.indexed/. To scope the MCP server to project-local .indexed/ (same as using --local on other commands), pass the top-level --local flag before mcp — it is not an argument to mcp run:

claude_desktop_config.json
{
  "mcpServers": {
    "indexed": {
      "command": "indexed",
      "args": ["--local", "mcp", "run"]
    }
  }
}

You can instead set persistent storage mode in config (see Configuration Guide):

[general]
storage_mode = "local"

If you use local storage, run or open Claude Desktop from the directory that contains your .indexed/ folder so the server resolves the same workspace.

Restart Claude Desktop

Fully quit and relaunch Claude Desktop — a reload is not sufficient to pick up MCP config changes.

Test the Connection

Try these prompts to verify Indexed is working:

  • "What tools do you have available from Indexed?" — Claude should list the search and search_collection tools.
  • "Search my indexed documents for the deployment process." — Claude should call search and return results from your collection.
  • "Search the my-docs collection for authentication setup." — Claude should call search_collection("my-docs", "authentication setup").

A working response includes document names, chunk positions, scores, and excerpts from your local index.

Troubleshooting

Indexed not listed under tools — Confirm the binary is on PATH: which indexed on macOS and Linux, where indexed on Windows (Command Prompt or PowerShell). Validate claude_desktop_config.json is valid JSON (no trailing commas, matching braces). Fully quit Claude Desktop (menu bar, not only closing the window) and reopen.

"command not found" in Claude logs — GUI apps often inherit a minimal PATH. Use the absolute path from which indexed (macOS/Linux) or where indexed (Windows) as "command":

claude_desktop_config.json
{
  "mcpServers": {
    "indexed": {
      "command": "/Users/you/.local/bin/indexed",
      "args": ["mcp", "run"]
    }
  }
}

No collections / empty results — Run indexed index inspect. If you use --local or storage_mode = "local", create collections from the same project directory and ensure Claude spawns the server with a cwd that sees that .indexed/ folder. Test the index from a terminal: indexed index search "your query".

Slow first response — The embedding model loads on the first query. Later queries in the same session are faster.

Debug logging — Raise MCP log verbosity (see indexed mcp run --help):

claude_desktop_config.json
{
  "mcpServers": {
    "indexed": {
      "command": "indexed",
      "args": ["mcp", "run", "--log-level", "DEBUG"]
    }
  }
}

Then check Claude Desktop’s MCP or developer logs for the Indexed process.

What's Next