Skip to main content
Glama

webdev-mcp

An MCP server that provides useful web development tools.

Usage

Cursor

  • To install in a project, add the MCP server to your .cursor/mcp.json:

{
	"mcpServers": {
		"webdev": {
			"command": "npx",
			"args": ["webdev-mcp"],

		}
	}
}
  • To install globally, add this command to your Cursor settings:

npx webdev-mcp

Windsurf

  • Add the MCP server to your ~/.codeium/windsurf/mcp_config.json file:

{
	"mcpServers": {
		"webdev": {
			"command": "npx",
			"args": ["webdev-mcp"]
		}
	}
}

Related MCP server: webdev-mcp

Tools

Currently, the only 2 tools are takeScreenshot and listScreens. Your agent can use the list screens tool to get the screen id of the screen it wants to screenshot.

The tool will return the screenshot as a base64 encoded string.

image.png

Tips

Make sure YOLO mode is on and MCP tools protection is off in your Cursor settings for the best experience. You might have to allow Cursor to record your screen on MacOS.

Available Tools

2 tools
listScreensA

List available screens/displays that can be captured

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It clearly states the tool is for listing screens, implying a read-only operation without side effects. However, it does not mention any potential permissions or limitations, though for a simple list operation this is acceptable.

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

Conciseness5/5

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

Single sentence directly conveying the tool's purpose with no extraneous words. Perfectly concise.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema), the description adequately covers the functionality. It could hint at the return value format (e.g., display IDs), but the current text is sufficient for an agent to understand its role.

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

Parameters4/5

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

No parameters exist, and schema coverage is trivially 100%. The baseline for zero parameters is 4, and no additional parameter description is needed.

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

Purpose5/5

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

Description uses specific verb 'List' and resource 'available screens/displays that can be captured', making the tool's purpose clear. It implicitly distinguishes from sibling tool 'takeScreenshot' by focusing on enumeration rather than capture.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus the sibling 'takeScreenshot'. The description only states what the tool does, without providing context for selection or exclusion.

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

takeScreenshotA

Take a screenshot of a specific screen and return it as a base64 encoded string.

ParametersJSON Schema
NameRequiredDescriptionDefault
screenIdNoID of the screen to capture. Use listScreens to find available screens. Default is 1 (main screen)
timeoutNoMaximum time to wait in milliseconds (default: 0, no timeout)

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must disclose all behavioral traits. It states the output is base64 encoded and mentions timeout behavior via the parameter, but does not detail side effects, permissions, or error conditions. It is adequate but minimal.

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

Conciseness5/5

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

The description is a single sentence with no fluff, clearly conveying the tool's purpose and output format. It is appropriately concise.

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

Completeness4/5

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

For a simple tool with two optional parameters and no output schema, the description is fairly complete. It explains the main action and output format, though it lacks details on error handling or invalid inputs. Overall, adequate for the tool's complexity.

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 the parameters thoroughly. The description adds minimal additional meaning beyond what the schema provides. Baseline is 3.

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

Purpose5/5

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

The description clearly states the action (take a screenshot), the resource (specific screen), and the output format (base64 encoded string). It distinguishes from the sibling tool listScreens, which lists available screens but does not take screenshots.

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 does not explicitly provide when or when not to use this tool. It implies usage for capturing a screenshot, but lacks guidance on alternatives or exclusions. The reference to listScreens is in the parameter description, not the main description.

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.

  1. 1 tool updatev1.0.0
    • ChangedlistScreens1 field changed
      • removedInput schema / additionalProperties
        Removed value: -false
  2. 2 tool updates
    • First observedlistScreens
    • First observedtakeScreenshot

TDQS

B3.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: listScreens identifies available screens for capture, while takeScreenshot performs the actual screenshot operation on a specified screen. There is no overlap or ambiguity between these functions, making it easy for an agent to select the correct tool based on the task.

Naming Consistency2/5

The naming is inconsistent: listScreens uses camelCase, while takeScreenshot uses camelCase but with a different verb style (list vs. take). Although both are camelCase, the lack of a uniform verb_noun pattern (e.g., list_screens, take_screenshot) and mixed verb conventions reduce predictability and readability.

Tool Count2/5

With only 2 tools, the server feels too thin for the web development domain implied by the name 'webdev-mcp'. This limited set lacks essential operations such as screen recording, window management, or other common web development tasks, making it insufficient for comprehensive coverage.

Completeness2/5

The tool surface is significantly incomplete for a web development server. While listScreens and takeScreenshot cover basic screenshot functionality, there are obvious gaps like capturing specific windows, recording screen activity, or integrating with web development workflows (e.g., browser automation, code editing). This will likely cause agent failures in broader tasks.

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