Skip to main content
Glama
screenshotone

ScreenshotOne MCP Server

Official

ScreenshotOne MCP Server

An official implementation of an MCP (Model Context Protocol) server for ScreenshotOne.

A few more words about why it was built and some thoughts about the future of MCP.

ScreenshotOne also offers an official hosted MCP server. See the ScreenshotOne MCP integration for setup instructions and the latest updates.

Tools

  • render-website-screenshot: Render a website screenshot and return an image or cached response.

  • get-usage: Get ScreenshotOne API quota and concurrency usage.

Related MCP server: PuppeteerMCP Server

Usage

Build it

Always install dependencies and build it first:

npm install && npm run build

Get your ScreenshotOne API key

Sign up at ScreenshotOne and get your API key.

Run with npx

Run the CLI directly from the npm package without cloning the repository:

SCREENSHOTONE_API_KEY=your_api_key npx --yes @screenshotone/mcp

With Claude for Desktop

Add the following to your ~/Library/Application\ Support/Claude/claude_desktop_config.json:

{
    "mcpServers": {
        "screenshotone": {
            "command": "npx",
            "args": ["--yes", "@screenshotone/mcp"],
            "env": {
                "SCREENSHOTONE_API_KEY": "<your api key>"
            }
        }
    }
}

Standalone or for other projects

SCREENSHOTONE_API_KEY=your_api_key node build/index.js

License

ScreenshotOne MCP Server is licensed under the MIT License.

Available Tools

1 tool
render-website-screenshotB

Renders a screenshot of a website and returns it as an image or a JSON with the cache URL (preferred for full-page screenshots).

ParametersJSON Schema
NameRequiredDescriptionDefault
block_adsNoBlock ads
block_bannersNoBlock cookie, GDPR, and other banners and popups
cacheNoCache the screenshot to get the cache URL
cache_keyNoCache key to generate a new cache URL for each screenshot, e.g. timestamp
full_pageNoRender the full page screenshot of the website
image_qualityNoImage quality
response_typeNoResponse type: JSON (when the cache URL is needed) or the image itselfby_format
urlYesURL of the website to screenshot

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'returns' outputs but doesn't describe what happens during rendering (e.g., page loading, timeout behavior, error handling), whether it's idempotent, or any rate limits. The description adds minimal context beyond the basic operation, leaving significant behavioral gaps for a tool with 8 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose and key output options. It avoids redundancy and wastes no words, though it could be slightly more structured by separating purpose from usage guidance. Every part earns its place, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no output schema, no annotations), the description is minimally complete. It covers the basic operation and output types but lacks details on error conditions, performance characteristics, or example usage. Without annotations or output schema, more behavioral context would be helpful, but it's adequate for a starting point.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds marginal value by hinting at the relationship between 'full_page' and cache URL preference, but doesn't provide additional syntax, format details, or usage examples beyond what the schema specifies. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Renders a screenshot of a website' with the specific verb 'renders' and resource 'website screenshot'. It distinguishes the output options (image or JSON with cache URL) but doesn't need sibling differentiation since no sibling tools exist. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance by mentioning 'preferred for full-page screenshots' for the cache URL option, suggesting when to choose JSON over image output. However, it lacks explicit when/when-not instructions or alternatives, and doesn't address prerequisites like network access or authentication needs. With no sibling tools, this is adequate but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.0.0
    • First observedrender-website-screenshot

TDQS

B3.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap with other tools. The tool's purpose is clearly defined and distinct by default.

Naming Consistency5/5

A single tool inherently has consistent naming, as there are no other tools to compare against. The name 'render-website-screenshot' follows a clear verb-noun pattern.

Tool Count2/5

A single tool is too few for most server purposes, as it limits functionality and flexibility. While it might suffice for a minimal screenshot service, it feels thin and under-scoped for typical agent workflows.

Completeness3/5

The tool covers the core action of rendering website screenshots, but there are notable gaps such as configuration options (e.g., viewport size, quality settings) or management functions (e.g., listing cached screenshots). This could lead to agent workarounds for advanced use cases.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that enables capturing website screenshots with full-page, element-specific, and device-responsive capabilities through natural language commands.
    3
    40
    58
    MIT

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/screenshotone/mcp'

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