Skip to main content
Glama

@thesimonharms/code-shot

MCP server that renders source code as beautiful images. Perfect for AI agents to show code visually to humans on mobile devices, or for sharing syntax-highlighted snippets.

Example

Example output from render_code

Generated from this TypeScript snippet with theme: github-dark and title: greet.ts:

function greet(name: string): string {
  const message = `Hello, ${name}!`;
  return message;
}

console.log(greet('world'));

Related MCP server: Code Screenshot Generator

Tools

render_code

Render source code as SVG or PNG with full syntax highlighting.

Param

Type

Default

Description

code

string

required

Source code to render

language

string

auto-detect

Language (ts, rust, py, go, js, and 40+ more)

theme

string

github-dark

Color theme (nord, dracula, catppuccin, one-dark-pro, etc.)

title

string

Window title bar text (e.g. filename)

show_line_numbers

boolean

true

Line number gutter

font_size

number

14

Font size in px

output_format

svg|png

svg

SVG is crisp & copyable; PNG is raster

width

number

auto

Code area width in characters

padding

number

16

Padding in px

render_diff

Render a git unified diff with color-coded additions/deletions and language-aware syntax highlighting.

Param

Type

Default

Description

diff

string

required

Unified diff content (git diff output)

highlight_language

string

auto-detect

Language for highlighting within hunks. Auto-detected from diff --git header (e.g. file.ts → TypeScript). Set to "diff" for plain diff highlighting.

...

Same options as render_code

Diff lines are highlighted with:

  • @@ hunk headers → blue background

  • + additions → green background (#1b4520 dark / #dafbe1 light)

  • - deletions → red background (#4f1818 dark / #ffebe9 light)

Syntax highlighting is applied per-hunk in the detected language — not just plain diff markup.

Themes

18 bundled themes:

Dark

Light

github-dark

github-light

nord

one-light

one-dark-pro

material-theme-lighter

dracula

min-light

dracula-soft

solarized-light

catppuccin-mocha

catppuccin-latte

material-theme

vitesse-light

min-dark

solarized-dark

vitesse-dark

Test Suite

46 tests across two runners:

npm test    # Build → MCP integration tests (cobasaja) → Unit tests (node --test)
  • 5 MCP integration tests (tests/code-shot.test.ts) — tool discovery, rendering, error cases

  • 37 unit tests (tests/*.node-test.ts) — renderSvg structure, diffToLines parsing, guessLanguage heuristics

Usage with Hermes

Add to ~/.hermes/config.yaml:

mcp_servers:
  code-shot:
    command: "npx"
    args: ["-y", "@thesimonharms/code-shot"]

Or from local build:

mcp_servers:
  code-shot:
    command: "node"
    args: ["/path/to/code-shot/dist/index.js"]

Configuration

Set defaults via ~/.code-shotrc (JSON):

{
  "theme": "nord",
  "show_line_numbers": true,
  "font_size": 14,
  "padding": 16
}

Also checked (in order): ~/.code-shotrc > ~/.code-shotrc.json > ~/.config/code-shot/config.json.

Tool call arguments override config file values.

Usage with Claude Code / Cursor

{
  "mcpServers": {
    "code-shot": {
      "command": "node",
      "args": ["/path/to/code-shot/dist/index.js"]
    }
  }
}

Development

npm install
npm run build    # tsc
npm test        # build + cobasaja + node --test

How it works

  1. Shiki tokenizes the code with full syntax highlighting (grammars for 40+ languages)

  2. SVG renderer builds a pixel-perfect SVG with monospace positioning, window chrome, line numbers, and diff markers

  3. Optional PNG via @resvg/resvg-js for platforms that don't support SVG natively

  4. Language auto-detection via shebang parsing and code heuristics (18 language patterns)

  5. Diff language detection from diff --git a/file.ext b/file.ext headers

No browser, no DOM, no headless Chromium — pure math-based SVG generation.

License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Generate images, GIFs, and PDFs from HTML, URLs, or templates — from your AI agent.

  • Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.

  • Screenshots, PDFs and Markdown from any URL or HTML for AI agents, via the SnapForge API

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/thesimonharms/code-shot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server