Skip to main content
Glama

Code Screenshot Generator MCP

MCP server for generating beautiful code screenshots directly from Claude

npm version npm downloads License: MIT TypeScript MCP

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.

Related MCP server: code-snippet-image-mcp

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

npm install -g code-screenshot-mcp

Configuration

Quick Setup (Claude Code):

claude mcp add code-screenshot-mcp

Manual 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.

Development Setup

git clone https://github.com/MoussaabBadla/code-screenshot-mcp.git
cd code-screenshot-mcp
npm install
npm run build

Quick Start

Basic Screenshot

"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);
}
"

From File

"Screenshot src/index.ts with Dracula theme"

Specific Lines

"Screenshot lines 20-45 of src/generator.ts with Monokai theme"

Git Diff

"Screenshot my git diff with GitHub Dark theme"

Batch Processing

"Screenshot src/index.ts, src/generator.ts, and src/templates.ts"

Available Themes

  • dracula - Dark purple theme (default)

  • nord - Arctic blue-tinted theme

  • monokai - Classic dark theme

  • github-light - Clean light theme

  • github-dark - GitHub's dark theme

API Reference

generate_code_screenshot

Generate a screenshot from code string.

Parameters:

  • code (string, required) - Source code to screenshot

  • language (string, required) - Programming language identifier

  • theme (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 file

  • startLine (number, optional) - Start line number (1-indexed)

  • endLine (number, optional) - End line number

  • theme (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 unstaged

  • theme (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 paths

  • theme (string, optional) - Theme applied to all screenshots (default: "dracula")

Returns: Array of PNG images with success/failure status

Examples

Dracula Theme

Dracula Theme

Nord Theme

Nord Theme

Monokai Theme

Monokai Theme

GitHub Light Theme

GitHub Light

GitHub Dark Theme

GitHub Dark

Contributing

Contributions are welcome. Please follow these steps:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/your-feature

  3. Commit changes: git commit -m 'Add your feature'

  4. Push to branch: git push origin feature/your-feature

  5. 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

Available Tools

4 tools
batch_screenshotB

Generate screenshots for multiple files at once. Useful for documenting multiple code files quickly.

Inputs: filePaths (required), theme.

generate_code_screenshotC

Generate a beautiful screenshot of code with syntax highlighting and themes

Inputs: code (required), language (required), theme.

screenshot_from_fileB

Screenshot code directly from a file path, with optional line range selection. Auto-detects language from file extension.

Inputs: filePath (required), startLine, endLine, theme.

screenshot_git_diffB

Generate a screenshot of git diff output. Shows changes in your working directory or staged changes.

Inputs: filePath, staged, theme.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 4 tools

    Disambiguation4/5

    The tools are mostly distinct with clear purposes: batch_screenshot for multiple files, generate_code_screenshot for general code, screenshot_from_file for file-based input, and screenshot_git_diff for git diffs. There is minor overlap between generate_code_screenshot and screenshot_from_file, as both handle single-file code screenshots, but the descriptions clarify the input method differences.

    Naming Consistency3/5

    The naming is mixed with no consistent pattern: batch_screenshot uses verb_noun, generate_code_screenshot uses verb_adjective_noun, screenshot_from_file uses noun_preposition_noun, and screenshot_git_diff uses noun_noun. This inconsistency makes the set less predictable, though all names are readable and descriptive.

    Tool Count5/5

    With 4 tools, the count is well-scoped for a code screenshot generator. Each tool serves a distinct use case (batch processing, general code, file input, git diffs), and there are no redundant or missing tools for the domain, making it efficient and focused.

    Completeness4/5

    The tool set covers the core workflows for code screenshots: single and batch generation, file-based input, and git diffs. A minor gap exists in lacking a tool for screenshot customization (e.g., themes or layout adjustments), but agents can work around this with the provided tools for most documentation needs.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers