webdev-mcp
Provides integration with Codeium through Windsurf, allowing users to add the MCP server to their Windsurf configuration for access to web development tools.
Supports screen recording functionality on macOS, with permissions required to capture screenshots of the user's display for web development purposes.
Recommends using YOLO mode for optimal experience, suggesting the MCP server works best with this feature enabled in Cursor settings.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@webdev-mcptake a screenshot of my current browser window"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Litecoin Core integration/staging tree
What is Litecoin?
Litecoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Litecoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Litecoin Core is the name of open source software which enables the use of this currency.
For more information, as well as an immediately useable, binary version of the Litecoin Core software, see https://litecoin.org.
Related MCP server: PuppeteerMCP Server
License
Litecoin Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.
Development Process
The master branch is regularly built and tested, but is not guaranteed to be
completely stable. Tags are created
regularly to indicate new official, stable release versions of Litecoin Core.
The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.
The developer mailing list should be used to discuss complicated or controversial changes before working on a patch set.
Developer IRC can be found on Freenode at #litecoin-dev.
Testing
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Automated Testing
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled in configure) with: make check. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python, that are run automatically on the build server.
These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py
The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
Manual Quality Assurance (QA) Testing
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
Translations
We only accept translation fixes that are submitted through Bitcoin Core's Transifex page. Translations are converted to Litecoin periodically.
Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.
Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.
Available Tools
2 toolslistScreensB
List available screens/displays that can be captured
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'available screens/displays that can be captured', which hints at a read-only operation, but doesn't disclose behavioral traits like whether this requires permissions, how the list is formatted, if it's real-time, or any rate limits. This leaves significant gaps for a tool with no annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters, no output schema, no annotations), the description is minimally adequate. It explains what the tool does but lacks details on behavior, output format, or integration with the sibling tool. For a tool with no structured data, more context would be beneficial to fully guide usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of inputs. The description doesn't need to add parameter details, and it correctly implies no inputs are required by not mentioning any. This meets the baseline for zero parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('available screens/displays that can be captured'), making the purpose immediately understandable. It doesn't explicitly differentiate from the sibling tool 'takeScreenshot', but the distinction is implied through the different verbs (list vs. take).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'that can be captured', suggesting this tool is for identifying screens before capturing them. However, it doesn't provide explicit guidance on when to use this versus 'takeScreenshot' or any prerequisites, leaving some ambiguity about the relationship between the tools.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| screenId | No | ID of the screen to capture. Use listScreens to find available screens. Default is 1 (main screen) | |
| timeout | No | Maximum time to wait in milliseconds (default: 0, no timeout) |
TDQS
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.
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.
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.
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.
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.
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.
2 tool updates
v1.0.0- First observed
listScreens - First observed
takeScreenshot
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: listScreens enumerates available displays, while takeScreenshot captures a specific 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.
The naming is mixed: listScreens uses camelCase, while takeScreenshot uses camelCase but with a different verb style (list vs. take). Both are readable, but they lack a consistent pattern like verb_noun or uniform casing, which could cause minor confusion in a larger set.
With only 2 tools, the server feels thin for a web development domain, which typically involves more operations like browser control, DOM manipulation, or network monitoring. This limited scope may restrict agent capabilities and suggests an incomplete tool surface.
For a webdev-mcp server, the tools only cover screen listing and screenshot capture, leaving significant gaps in web development workflows such as page navigation, element interaction, or performance testing. The surface is severely incomplete for the implied domain, likely causing agent failures in broader tasks.
Maintenance
Related MCP Connectors
- mcpOAuthcom.screenshotink
Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.
Hosted screenshot MCP for AI agents — URL in, image out. No local Chromium.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Screenshot and HTML render MCP server for AI agents
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceAn MCP server that provides web development tools including taking screenshots of screens, enabling AI agents to capture and analyze visual content during development.239 npm11-
- AlicenseBqualityDmaintenanceAn MCP server that enables AI assistants to capture and analyze web page screenshots using Puppeteer, supporting multi-breakpoint captures, error reporting, and page interactions.135 npm6MIT
- AlicenseBqualityBmaintenanceAn MCP server that enables capturing website screenshots with full-page, element-specific, and device-responsive capabilities through natural language commands.338 npm61MIT
- FlicenseBqualityDmaintenanceAn MCP server that enables AI coding tools to control a browser for automated actions, UI extraction, network interception, and screenshots.231-