Enables visualization of git diff output with syntax highlighting, supporting both staged and unstaged changes
Code Screenshot Generator MCP
MCP server for generating beautiful code screenshots directly from Claude
Overview
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.
Features
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
Installation
Prerequisites
Configuration
Quick Setup (Claude Code):
Manual Setup (Claude Desktop):
Add to your Claude configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json
:
Restart Claude Desktop after configuration.
Development Setup
Quick Start
Basic Screenshot
From File
Specific Lines
Git Diff
Batch Processing
Available Themes
dracula
- Dark purple theme (default)nord
- Arctic blue-tinted thememonokai
- Classic dark themegithub-light
- Clean light themegithub-dark
- GitHub's dark theme
API Reference
generate_code_screenshot
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_from_file
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
screenshot_git_diff
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
batch_screenshot
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
Examples
Dracula Theme
Nord Theme
Monokai Theme
GitHub Light Theme
GitHub Dark Theme
Contributing
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
License
MIT License - Copyright (c) 2025 Moussaab Badla
See LICENSE file for details.
Acknowledgments
Built with Model Context Protocol, Playwright, and Highlight.js.
Repository: github.com/MoussaabBadla/code-screenshot-mcp
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables generating beautiful syntax-highlighted code screenshots with professional themes directly from Claude. Supports file reading, line selection, git diff visualization, and batch processing across 20+ programming languages.