manga_mcp
Enables generating original English-dialogue manga with configurable Japanese art styles through an MCP server, including story scripting, panel image generation, and page composition.
README
manga_mcp
An MCP server that lets Claude generate original, English-dialogue manga in a configurable Japanese art style — with a story-craft layer designed to stop output from reading like generic AI "slop."
How it avoids slop
- Writer's pass first.
manga_generate_scriptasks Claude (via your own Anthropic API key) to break your story prompt into a real script — capped at 10 panels total (fewer = higher quality per panel), with genre rules baked in:romance_bittersweet— the core conflict must actually resolve, but at least one thread stays unresolved. No saccharine endings, no pure tragedy.action_mystery— a planted clue must pay off, stakes must escalate panel-over-panel, exactly one misdirection.
- Character consistency. The script includes one
character_sheetparagraph, reused verbatim in every panel's image prompt. - Text is never left to the diffusion model. Dialogue/captions/SFX are
drawn on top by the compositor (
manga_compose_page), in real English text — not the garbled lettering diffusion models produce.
Project layout
manga_mcp/
server.py # MCP tool registrations (the entrypoint)
story_engine.py # Story prompt -> panel script (Anthropic API)
image_backend.py # Panel script -> panel art (Replicate API)
compositor.py # Panel art + dialogue -> finished page (Pillow)
styles.py # Art-direction presets ("our own style" lives here)
models.py # Shared Pydantic schemas
config.py # Env var loading
requirements.txt
.env.example
Setup
-
Install dependencies (Python 3.10+):
pip install -r requirements.txt -
Get your API keys:
- Anthropic: https://console.anthropic.com/ → API Keys
- Replicate: https://replicate.com/account/api-tokens
-
Copy
.env.exampleto.envand fill in both keys. -
Pick an art model. Browse https://replicate.com/collections/generate-anime, open a model you like (e.g. an Animagine XL / Pony-style / NoobAI-XL checkpoint), copy its
owner/name:versionstring from the API tab, and paste it intoreplicate_model_versionfor each profile instyles.py. This is the main knob for "our own style" — tweakart_direction/negative_promptper profile to push the look further. -
Run it standalone to sanity-check:
python -m manga_mcp.server -
Connect it to Claude — two ways:
A) Local, via Claude Desktop. Add to
claude_desktop_config.json:{ "mcpServers": { "manga_mcp": { "command": "python", "args": ["-m", "manga_mcp.server"], "cwd": "/absolute/path/to/manga_mcp", "env": { "ANTHROPIC_API_KEY": "sk-ant-...", "REPLICATE_API_TOKEN": "r8_..." } } } }Restart Claude Desktop and the five
manga_*tools show up as available tools in chat. Requires the Desktop app to be running.B) Remote, no Desktop needed — works from Claude mobile too. Custom connectors connect to a server reachable over the public internet, from any Claude client (web, mobile, Desktop). Fastest path using the included
render.yamlblueprint:- Push this folder to a GitHub repo (
git init && git add . && git commit -m init, create an empty repo on GitHub,git push). - On render.com (free account): New + →
Blueprint → connect that repo. Render reads
render.yamland configures the service automatically. - It'll prompt you for the two secret values it can't guess:
ANTHROPIC_API_KEYandREPLICATE_API_TOKEN. Paste those in. - Deploy. You get a URL like
https://manga-mcp-xxxx.onrender.com. Free tier cold-starts after idling — fine for testing, a $7/mo tier removes that. - In Claude: Settings → Connectors → Add custom connector → paste
https://manga-mcp-xxxx.onrender.com/mcp. Now usable from any chat, phone included.
- Push this folder to a GitHub repo (
Tools
| Tool | Purpose |
|---|---|
manga_generate_script |
Story prompt → panel-by-panel script (≤10 panels) |
manga_generate_panel_image |
One panel's art via Replicate |
manga_compose_page |
Panel art + dialogue → finished page PNG |
manga_generate_full_story |
Runs all three end-to-end for a whole story |
manga_list_style_profiles |
Lists configured art styles |
Known gaps / next steps
- Character consistency is prompt-only right now. It's driven entirely by
reusing the
character_sheettext — good enough for a prototype, but true cross-panel consistency needs image-to-image referencing (e.g. an IP-Adapter / ControlNet reference pass, or generating a character turnaround once and feeding it back into every panel call). - Layouts are template-based (
compositor.py: LAYOUT_TEMPLATES), not yet driven bypanel_size_weight— a splash panel currently doesn't visually dominate the page yet. - No caching — re-running
manga_generate_full_storyre-generates every image from scratch (costs add up on Replicate).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.