Get the FREE Ultimate OpenClaw Setup Guide →

mcp-screenshot

An MCP server that provides AI assistants with screenshot capabilities — both web page capture via Puppeteer and cross-platform system screenshots using native OS tools.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio sethbang-mcp-screenshot-server npx -y universal-screenshot-mcp

How to use

This MCP server exposes two tools for taking screenshots: take_screenshot and take_system_screenshot. take_screenshot uses a headless Chromium browser via Puppeteer to capture web pages or specific elements. It can capture a full page, a viewport of a given width and height, or a particular element selected by a CSS selector. You can also wait for a selector before capturing and specify an output path. take_system_screenshot uses native OS tools to capture the desktop, a specific window, or a region, with cross‑platform support for macOS, Linux, and Windows. It supports fullscreen, window, and region modes, optional delay, and output path settings. These tools enable integrated, automated visual captures within MCP client workflows such as Claude Desktop or Cursor.

How to install

Prerequisites:

  • Node.js >= 18.0.0
  • npm (comes with Node.js)

Install the MCP server globally via npm and run it directly, or install from source if you prefer to build locally.

Option A: Install globally and run from CLI

npm install -g universal-screenshot-mcp
npx universal-screenshot-mcp

Option B: Install from source

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

Both approaches install the server and make the two MCP tools available to your MCP clients. If you install from source, you’ll typically run the built server entry point (as described by your client configuration).

Configure your MCP client to point at this server (see how_to_use for client setup examples).

Additional notes

Notes and tips:

  • The server relies on Puppeteer to render web pages; Chromium is downloaded automatically on first run.
  • take_system_screenshot depends on platform-specific tools (macOS screencapture, Linux maim/scrot/gnome-screenshot/etc., Windows PowerShell/.NET). Ensure at least one supported tool is available on the host.
  • Output defaults to ~/Desktop/Screenshots but can be customized via outputPath in the tool configurations.
  • Security: the server enforces multiple protections (SSRF, path traversal, command injection, DoS mitigation) to minimize risk when invoking system commands or rendering remote pages.
  • For Claude Desktop, you may need to adjust the client config to reference the correct npm or node invocation depending on your installation method.

Related MCP Servers

Sponsor this space

Reach thousands of developers