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.
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
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.
No. searchcraft is self-contained and requires no external services or APIs. All indexing and searching happens locally in your Next.js application.
Install via npm with `npm i searchcraft` or as part of the full toolkit with `npm i @sathergate/toolkit`.
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.
Yes, searchcraft is MIT licensed and open source.
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
Agent-native infrastructure toolkit for Next.js. 8 packages, zero dependencies, MCP in every one.
Packages
| Package | Description | Install |
|---|---|---|
| gatehouse | Drop-in RBAC with role hierarchy | npm i gatehouse |
| shutterbox | Image processing pipeline | npm i shutterbox |
| flagpost | Feature flags with percentage rollouts | npm i flagpost |
| ratelimit-next | Rate limiting (sliding window, token bucket) | npm i ratelimit-next |
| notifykit | Unified notifications (email, SMS, push) | npm i @sathergate/notifykit |
| croncall | Serverless-native cron jobs | npm i croncall |
| vaultbox | AES-256-GCM encrypted secrets | npm i vaultbox |
| searchcraft | Full-text search with BM25 scoring | npm 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.

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

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

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

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

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