MCP server for generating beautiful code screenshots directly from Claude
A Model Context Protocol (MCP) server that enables Claude to generate syntax-highlighted code screenshots with professional themes. Supports direct file reading, line selection, git diff visualization, and batch processing.
- 5 Professional Themes: Dracula, Nord, Monokai, GitHub Light, GitHub Dark
- File Integration: Screenshot code directly from file paths with line range selection
- Git Diff Support: Visualize staged or unstaged changes
- Batch Processing: Process multiple files simultaneously
- Auto Language Detection: Supports 20+ programming languages
- Native Claude Integration: Works with Claude Desktop and Claude Code
npm install -g code-screenshot-mcpQuick Setup (Claude Code):
claude mcp add code-screenshot-mcpManual Setup (Claude Desktop):
Add to your Claude configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"code-screenshot": {
"command": "code-screenshot-mcp"
}
}
}Restart Claude Desktop after configuration.
git clone https://github.com/MoussaabBadla/code-screenshot-mcp.git
cd code-screenshot-mcp
npm install
npm run build"Generate a code screenshot of this TypeScript function with Nord theme:
function fibonacci(n: number): number {
if (n <= 1) return n;
return fibonacci(n-1) + fibonacci(n-2);
}
"
"Screenshot src/index.ts with Dracula theme"
"Screenshot lines 20-45 of src/generator.ts with Monokai theme"
"Screenshot my git diff with GitHub Dark theme"
"Screenshot src/index.ts, src/generator.ts, and src/templates.ts"
dracula- Dark purple theme (default)nord- Arctic blue-tinted thememonokai- Classic dark themegithub-light- Clean light themegithub-dark- GitHub's dark theme
Generate a screenshot from code string.
Parameters:
code(string, required) - Source code to screenshotlanguage(string, required) - Programming language identifiertheme(string, optional) - Color theme (default: "dracula")
Returns: PNG image with base64 encoding
Screenshot code from file path with automatic language detection.
Parameters:
filePath(string, required) - Path to source filestartLine(number, optional) - Start line number (1-indexed)endLine(number, optional) - End line numbertheme(string, optional) - Color theme (default: "dracula")
Supported Extensions:
.js, .jsx, .ts, .tsx, .py, .rb, .go, .rs, .java, .c, .cpp, .cs, .php, .swift, .kt, .sql, .sh, .yml, .yaml, .json, .xml, .html, .css, .scss, .md
Returns: PNG image with base64 encoding
Generate screenshot of git diff output.
Parameters:
filePath(string, optional) - Specific file to diff (shows all if omitted)staged(boolean, optional) - Show staged changes instead of unstagedtheme(string, optional) - Color theme (default: "dracula")
Returns: PNG image with base64 encoding
Process multiple files in a single operation.
Parameters:
filePaths(string[], required) - Array of file pathstheme(string, optional) - Theme applied to all screenshots (default: "dracula")
Returns: Array of PNG images with success/failure status
Contributions are welcome. Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit changes:
git commit -m 'Add your feature' - Push to branch:
git push origin feature/your-feature - Submit a pull request
MIT License - Copyright (c) 2025 Moussaab Badla
See LICENSE file for details.
Built with Model Context Protocol, Playwright, and Highlight.js.
Repository: github.com/MoussaabBadla/code-screenshot-mcp




