# searchcraft

Adds full-text search with BM25 ranking and fuzzy matching to a Next.js project. Use it when an agent needs to find relevant project documents.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 107
- Author: sathergate
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/sathergate/sathergate-toolkit
- Updated: 2026-09-11
- HTML: https://affpapa.org/en/nevibecode/mcp/searchcraft

## What it does

searchcraft exposes MCP tools for full-text search in Next.js projects. It ranks matches with BM25 and can find relevant documents when a query uses wording that differs from the indexed text. No external search service is involved.

You can run the server through `npx`; the Claude Code setup command registers it as an MCP server. The package is written in TypeScript and has no npm dependencies. Its search is built for Next.js projects, so that framework requirement matters when choosing it.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add searchcraft -- npx -y searchcraft
```

### Codex

**Platform CLI**
```bash
codex mcp add searchcraft -- npx -y searchcraft
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "searchcraft": {
            "command": "npx",
            "args": [
                "-y",
                "searchcraft"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "searchcraft": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "searchcraft"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add searchcraft npx -y searchcraft
```

## When to use it
- find project documents from a search query
- rank full-text matches with BM25
- retrieve matches despite differences in wording

## Example prompts
- Find project documents about configuring authentication.
- Search article content for references to `createSifter`.
- Look for documents related to this query even if their wording differs.

## Similar
- [REA](https://affpapa.org/en/nevibecode/mcp/rea.md) — MCP server · ★ 386989
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89408
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
