io.github.sathergate/darkroom MCP Server
io.github.sathergate/darkroom
Image processing pipeline for Next.js with responsive optimization using Sharp.
What is the io.github.sathergate/darkroom MCP server?
The Darkroom MCP server (via shutterbox package) is an image processing pipeline for Next.js applications that handles responsive image optimization. It provides Sharp-based image transformation capabilities designed to be agent-native with MCP tool integration.
Darkroom is part of the sathergate-toolkit and exposes image processing functionality through the shutterbox package. It enables developers to optimize and transform images responsively in Next.js applications, with built-in MCP tools for AI agent discovery and use.
How to install io.github.sathergate/darkroom
Copy-paste configuration for popular MCP clients.
Use cases
- Optimize images for responsive web design in Next.js applications
- Transform and resize images using Sharp-based processing
- Integrate image processing into AI agent workflows via MCP tools
- Automate image pipeline configuration with CLI scaffolding
- Handle multiple image formats and quality settings
io.github.sathergate/darkroom MCP server FAQ
Darkroom is an image processing pipeline for Next.js built on the shutterbox package. It provides Sharp-based image optimization and transformation capabilities with MCP tool integration for AI agents.
Install via npm using `npm i shutterbox` or install the entire toolkit with `npm i @sathergate/toolkit`.
Yes, Darkroom is MIT licensed and open source with zero npm dependencies.
No, Darkroom is pure TypeScript with no external services required. It runs entirely on your infrastructure.
The server exposes MCP tools that are automatically discoverable by AI agents. Use the CLI scaffolding with `npx shutterbox init` for zero-config setup.
The README does not specify supported formats, but it uses Sharp which supports common web formats like JPEG, PNG, WebP, and others.
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

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.

AES-256-GCM encrypted secrets for Next.js with no external vault required.

Unified notifications for Next.js with multi-provider SMS, email, and push support.

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

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