io.github.sathergate/darkroom

Official registry Media and design

Image processing pipeline for Next.js. Responsive optimization with Sharp.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package shutterbox
Claude Code
claude mcp add darkroom -- npx -y shutterbox@0.1.1
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "darkroom": {
            "command": "npx",
            "args": [
                "-y",
                "shutterbox@0.1.1"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. sathergate-toolkit
  2. Packages
  3. Quick Start
  4. What Makes This Different
  5. Development
  6. License

sathergate-toolkit

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

Frequently asked questions

What is io.github.sathergate/darkroom?

Image processing pipeline for Next.js. Responsive optimization with Sharp.

How do I install io.github.sathergate/darkroom?

It runs on your machine. In Claude Code: claude mcp add darkroom -- npx -y shutterbox@0.1.1. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.sathergate/darkroom need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.sathergate/darkroom open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains io.github.sathergate/darkroom?

It is published by sathergate. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.