Darkroom

io.github.sathergatePublished by GitHub account sathergatev0.1.1Updated Oct 24, 2026

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

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

Local MCP server from the shutterbox package that gives an assistant an image processing pipeline for Next.js with responsive optimization via Sharp.

What you can do
  • Process and optimize images for Next.js projects through the shutterbox package.
  • Generate responsive image variants and optimization output using Sharp.
  • Expose the package's capabilities to an AI coding agent as MCP tools, alongside CLI scaffolding for setup.
  • Part of a broader toolkit whose other packages cover RBAC, feature flags, rate limiting, notifications, cron jobs, secrets and full-text search.
When to use it
Worth adding when you are building a Next.js app and want an assistant to help set up or run image processing and responsive optimization work inside that project.
Requirements
Runs as a local process over stdio, installed from the npm package shutterbox; a Node.js environment is needed. No authentication, environment variables or headers are declared.
Before you install
The manifest lists no tools, so the exact operations the assistant can perform are not documented here. The README describes the package as part of a larger toolkit; installing the full toolkit pulls in unrelated packages. Image processing writes files into your project, so review changes before committing.

Installation

In SourceWeft

  1. Open Darkroom in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

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:

bash
npm i @sathergate/toolkit

Quick Start

ts
import { createFloodgate } from "ratelimit-next";import { createSifter } from "searchcraft";import { createFlagpost } from "flagpost";
// Rate limitingconst limiter = createFloodgate({  rules: { api: { limit: 60, window: "1m" } },});
// Full-text searchconst search = createSifter({  schema: { title: { weight: 2 }, body: true },  documents: articles,});
// Feature flagsconst 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

bash
npm installnpm run buildnpm run testnpm run typecheck

See CONTRIBUTING.md for the full guide.

License

MIT

Source: README.md at commit f552fe8

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.