Get the FREE Ultimate OpenClaw Setup Guide →

screenshotone

TypeScript Model Context Protocol (MCP) server for ScreenshotOne. Includes CLI support and extensible structure for connecting AI systems (LLMs) to ScreenshotOne API to capture screenshots of websites.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio mrgoonie-screenshotone-mcp-server node /path/to/screenshotone-mcp-server/dist/index.js

How to use

ScreenshotOne MCP Server connects AI assistants to the ScreenshotOne API to capture website screenshots. It supports taking standard URL screenshots, rendering HTML content before capture, full-page and element-specific captures, and multiple output formats (PNG, JPEG, WebP, PDF). The server exposes a CLI-oriented workflow as well as MCP compatibility for integration with LLMs and agents. Typical usage involves running the MCP server locally (stdio transport) and issuing take-screenshot actions via the CLI or via MCP-compatible clients that talk to the server over HTTP when configured.

For CLI usage, you can run commands like take-screenshot with various options to control URL, viewport, full-page captures, output format, and upload capabilities. The project also includes features to block ads/trackers, inject custom CSS/JS, and adjust wait timing to fine-tune captures. If you prefer remote operation, you can configure an HTTP transport to expose an endpoint at /mcp and use environment variables to control host, port, and path for deployment.

How to install

Prerequisites:

  • Node.js (>= 18.x)
  • Git
  • npm (comes with Node.js)

Step 1: Clone the repository

# Clone the repository
git clone https://github.com/mrgoonie/screenshotone-mcp-server.git
cd screenshotone-mcp-server

Step 2: Install dependencies

npm install

Step 3: Run the development server (stdio transport by default)

# Start the MCP server (stdio)
npm run dev:server

Step 4: (Optional) Run the server with HTTP transport

# Start the server with HTTP transport (requires env/config for HTTP if applicable)
npm run dev:server:http

Step 5: Verify CLI tooling

# Basic screenshot via CLI (example)
npm run dev:cli -- take-screenshot --url "https://example.com" --access-key "your-access-key"

Note: The README indicates the project is configured to use the ScreenshotOne API; ensure you have an API key and any required environment variables per your deployment (see environment/config notes in the repository).

Additional notes

Environment and deployment tips:

  • If using HTTP transport, configure MCP_HTTP_HOST, MCP_HTTP_PORT, and MCP_HTTP_PATH as needed.
  • For local debugging, the MCP Inspector is accessible at http://127.0.0.1:6274 and the proxy/listener at the specified ports per the dev script output.
  • When deploying, ensure your environment provides network access to ScreenshotOne and any required API keys.
  • The MCP server supports blocking ads/trackers and injecting custom CSS/JS during captures; use these features to tailor screenshots.
  • If you encounter transport errors, verify that the transport type (stdio vs http) is correctly configured in your mcp_config and that the path to the server script is correct.

Related MCP Servers

Sponsor this space

Reach thousands of developers