This is rate limiting for Next.js apps via MCP, wrapping the ratelimit-next package from the sathergate-toolkit monorepo. It exposes sliding window and token bucket algorithms with zero npm dependencies. You'd reach for this when building API routes or server actions that need request throttling without adding Redis or external services. The package includes CLI scaffolding with npx ratelimit-next init for quick setup. Part of an eight-package toolkit where every component ships with MCP tools baked in, making them discoverable by AI agents. Clean TypeScript implementation that runs entirely in your Next.js process.
Agent-native infrastructure toolkit for Next.js. 8 packages, zero dependencies, MCP in every one.
| 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
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.
Every package is agent-native — designed to be discovered and used by AI coding agents:
npx <package> init) for zero-config setupnpm install
npm run build
npm run test
npm run typecheck
See CONTRIBUTING.md for the full guide.
MIT