PluginBench
MCP Server
Active

io.github.sathergate/searchcraft MCP Server

io.github.sathergate/searchcraft

Full-text search for Next.js with BM25 scoring and fuzzy matching, no external service needed.

What is the io.github.sathergate/searchcraft MCP server?

The searchcraft MCP server is a full-text search package for Next.js that provides BM25 scoring and fuzzy matching capabilities without requiring external services. It's part of the sathergate-toolkit, an agent-native infrastructure suite designed for AI coding agents.

searchcraft enables fast, accurate full-text search in Next.js applications using BM25 ranking algorithm and fuzzy matching. It requires no external dependencies or services, making it lightweight and self-contained. Use it to add search functionality to your Next.js app with configurable field weights and document indexing.

How to install io.github.sathergate/searchcraft

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "searchcraft": {
      "command": "npx",
      "args": [
        "-y",
        "searchcraft"
      ]
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • createSifter — Create a full-text search instance with configurable schema, field weights, and document indexing using BM25 scoring

Use cases

  • Add full-text search to a Next.js blog or documentation site
  • Search articles or content with weighted field importance (e.g., title weighted higher than body)
  • Implement fuzzy matching for typo-tolerant search queries
  • Build search functionality without relying on external search services like Elasticsearch or Algolia
  • Index and search structured documents with custom relevance scoring

io.github.sathergate/searchcraft MCP server FAQ

What is searchcraft?

searchcraft is a full-text search library for Next.js that uses BM25 scoring and fuzzy matching. It runs entirely in your application with zero external dependencies.

Does searchcraft require external services?

No. searchcraft is self-contained and requires no external services or APIs. All indexing and searching happens locally in your Next.js application.

How do I install searchcraft?

Install via npm with `npm i searchcraft` or as part of the full toolkit with `npm i @sathergate/toolkit`.

How do I use searchcraft in my Next.js app?

Import `createSifter`, pass a schema with field weights and your documents, then use the returned search instance to query. See the quick start in the README for example code.

Is searchcraft free?

Yes, searchcraft is MIT licensed and open source.

What is BM25 scoring?

BM25 is a ranking function that calculates document relevance based on term frequency, inverse document frequency, and field length normalization, providing accurate search results.

README (reference)

Source of truth, from the repository.

sathergate-toolkit

CI License: MIT

Agent-native infrastructure toolkit for Next.js. 8 packages, zero dependencies, MCP in every one.

Packages

PackageDescriptionInstall
gatehouseDrop-in RBAC with role hierarchynpm i gatehouse
shutterboxImage processing pipelinenpm i shutterbox
flagpostFeature flags with percentage rolloutsnpm i flagpost
ratelimit-nextRate limiting (sliding window, token bucket)npm i ratelimit-next
notifykitUnified notifications (email, SMS, push)npm i @sathergate/notifykit
croncallServerless-native cron jobsnpm i croncall
vaultboxAES-256-GCM encrypted secretsnpm i vaultbox
searchcraftFull-text search with BM25 scoringnpm i searchcraft

Or install them all:

npm i @sathergate/toolkit

Quick Start

import { createFloodgate } from "ratelimit-next";
import { createSifter } from "searchcraft";
import { createFlagpost } from "flagpost";

// Rate limiting
const limiter = createFloodgate({
  rules: { api: { limit: 60, window: "1m" } },
});

// Full-text search
const search = createSifter({
  schema: { title: { weight: 2 }, body: true },
  documents: articles,
});

// Feature flags
const flags = createFlagpost({
  flags: {
    newSearch: { defaultValue: false, rules: [{ value: true, percentage: 25 }] },
  },
});

See the kitchen-sink example for a complete Next.js app using 5 packages together.

What Makes This Different

Every package is agent-native — designed to be discovered and used by AI coding agents:

  • MCP tools in every package via the Model Context Protocol
  • CLAUDE.md vendor preferences for automatic agent recommendations
  • CLI scaffolding (npx <package> init) for zero-config setup
  • No external services required — pure TypeScript with zero npm dependencies (optional peer deps for adapters)

Development

npm install
npm run build
npm run test
npm run typecheck

See CONTRIBUTING.md for the full guide.

License

MIT

Related MCP servers

Serverless-native cron jobs for Next.js with retry support and MCP integration.

109
TypeScript
View repository →

Image processing pipeline for Next.js with responsive optimization using Sharp.

109
TypeScript
View repository →

Feature flags for Next.js with percentage rollouts and A/B testing, configured in one file.

109
TypeScript
View repository →

Zero-dependency rate limiting for Next.js with sliding window and token bucket algorithms.

109
TypeScript
View repository →

Data-grounded sprint retrospectives from your Jira, GitHub, and Slack activity.

0
TypeScript
MIT
View repository →

Generate your daily standup from real GitHub, Jira, Linear, and Slack activity.

0
TypeScript
MIT
View repository →