Skip to main content
Glama
README.md
# Inkdex

[![npm](https://img.shields.io/npm/v/inkdex)](https://www.npmjs.com/package/inkdex)

MCP server for semantic search over markdown docs.

## Tools

| Tool | Description |
|------|-------------|
| `search_docs` | Search indexed documentation. Returns matching chunks ranked by relevance. |

## Usage

Add to your MCP client configuration:

```json
{
  "mcpServers": {
    "inkdex": {
      "command": "npx",
      "args": [
        "-y",
        "inkdex"
      ],
      "env": {
        "DOCS_PATH": "/path/to/your/docs"
      }
    }
  }
}
```

| Variable | Required | Description |
|----------|----------|-------------|
| `DOCS_PATH` | Yes | Path to the directory containing markdown files to index |

## How it works

Markdown files are split into chunks by heading structure and paragraph boundaries. Chunks are embedded locally using `all-MiniLM-L6-v2` and stored in SQLite.

Search ranks results using both vector similarity and BM25 full-text matching, combined via [Reciprocal Rank Fusion](https://cormack.uwaterloo.ca/cormacksigir09-rrf.pdf).

Results include the source, context, and text:
```
[mira/authentication.md]
<context>
Authentication > Token Expiration and Refresh
</context>
The refresh token expires...
```

TDQS

A3.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion between tools. Its purpose is clear.

Naming Consistency5/5

The single tool name 'search_docs' uses a clear verb_noun structure in snake_case, consistent with common naming conventions.

Tool Count3/5

A single tool is borderline; it may be sufficient for a narrow search-only purpose but feels thin for a broader documentation server.

Completeness3/5

The tool covers semantic search but lacks other potentially useful operations like retrieving a specific document or listing available documentation, which are common in documentation servers.

Maintenance

ActivityInactive
ResponsivenessNo issues