An MCP server that uses Satori to generate consistent images from React components.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"satori": {
"url": "https://satori.jellypod.ai/mcp",
"type": "http"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
An MCP (Model Context Protocol) server that generates beautiful images from React components using Satori. Create social cards, blog headers, quotes, and custom images directly through AI assistants like Claude.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
Official Miro MCP server - Supports context to code and creating diagrams, docs, and data tables.
AI image generation and editing with prompt optimization and quality presets. Powered by Nano Banana
Coinbase Design System - MCP Server
MCP Security Weekly
Get CVE alerts and security updates for Satori Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.

An MCP (Model Context Protocol) server that generates beautiful images from React components using Satori. Create social cards, blog headers, quotes, and custom images directly through AI assistants like Claude.
git clone https://github.com/Jellypod-Inc/satori-mcp-server.git
cd satori-mcp-server
pnpm install
To use the hosted version of the MCP server, add the server to your Claude Desktop configuration:
{
"mcpServers": {
"satori": {
"type": "http",
"url": "https://satori.jellypod.ai/mcp"
}
}
}
# Start development server with hot reload
pnpm dev
# Run tests
pnpm test
# Run specific tests
pnpm test:generate-image
pnpm test:generate-image-from-template
# Build for production
pnpm build
# Start production server
pnpm start
To test the MCP server, use the Model Context Protocol (MCP) inspector: https://modelcontextprotocol.io/legacy/tools/inspector
You can run it via:
pnpm dlx @modelcontextprotocol/inspector
and then run the local MCP server, and connect to the localhost in the inspector.
You willl need to configure Vercel Blob Storage to save the generated image files. Get this from your Vercel dashboard: https://vercel.com/docs/storage/vercel-blob
export const BLOB_READ_WRITE_TOKEN = process.env.BLOB_READ_WRITE_TOKEN;
generate_imageGenerate an image from custom JSX content.
Parameters:
jsx (string, required): JSX content as a stringwidth (number, default: 600): Image width in pixelsheight (number, default: 400): Image height in pixelsoutputPath (string, required): Where to save the imagegoogleFonts (array, optional): Google Fonts to loadExample:
{
jsx: '<div style={{background: "linear-gradient(to right, #667eea, #764ba2)", width: "100%", height: "100%", display: "flex", alignItems: "center", justifyContent: "center"}}><h1 style={{color: "white", fontSize: "60px"}}>Hello World</h1></div>',
width: 1200,
height: 630,
outputPath: "output/hello.png",
googleFonts: [
{ name: "Inter", weight: 700, style: "normal" }
]
}
generate_from_templateGenerate an image using a pre-built template.
Parameters:
template (string, required): Template name ("social-card", "blog-header", "quote")params (object, required): Template-specific parametersoutputPath (string, required): Where to save the imagewidth (number, optional): Override template widthheight (number, optional): Override template heightExample:
{
template: "social-card",
params: {
title: "Announcing Satori MCP Server",
description: "Generate beautiful images with AI",
backgroundColor: "#2563eb"
},
outputPath: "output/announcement.png"
}
list_templatesList all available templates with their descriptions.
No parameters required
Returns a list of templates with their names and descriptions.