About Local Scanner MCP Server
Local Scanner MCP Server gives developers tools to inspect local code and localhost pages through AI assistants in MCP clients. It combines browser interactions, screenshots, code linting, and HTML validation.
Key features
- 01Inspect localhost logs and runtime errors
- 02Perform page clicks, typing, and waits
- 03Capture localhost page screenshots
- 04Lint JavaScript, TypeScript, and CSS
- 05Validate HTML content or URLs
Use cases
- 01Debug locally running web apps
- 02Review page appearance with screenshots
- 03Check code quality and standards
- 04Validate HTML compliance
MCP support
It implements MCP and exposes tools for scanning local pages, taking screenshots, linting code, and validating HTML to MCP clients.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
http://localhost:3000claude mcp add --transport http local-scanner http://localhost:3000{"mcpServers":{"local-scanner":{"type":"http","url":"http://localhost:3000"}}}Open in Cursor{"servers":{"local-scanner":{"type":"http","url":"http://localhost:3000"}}}Open in VS Code{"mcpServers":{"local-scanner":{"type":"http","url":"http://localhost:3000"}}}{"mcpServers":{"local-scanner":{"serverUrl":"http://localhost:3000"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMELocal Scanner MCP Server
A Model Context Protocol (MCP) server for scanning local code and localhost URLs. This server provides tools for validating code, capturing screenshots, and analyzing web pages running on localhost.
Overview
The Local Scanner MCP Server extends AI assistants' capabilities to interact with locally running web applications and code files. It bridges the gap between AI and local development environments, enabling AI assistants to:
- Test and debug locally running web applications
- Capture screenshots for visual verification
- Lint code files to ensure quality and standards compliance
- Validate HTML for accessibility and standards compliance
This server is particularly useful for developers working with AI assistants like Cline (VSCode) or Cascade (WindSurf) who want to leverage AI capabilities for local development tasks.
Features
The server provides the following tools:
1. scan_localhost
Access a localhost URL, capture console logs, and check for runtime errors.
Parameters:
url(required): Localhost URL to scan (must start with http://localhost or https://localhost)waitTime(optional): Time to wait in milliseconds after page load (default: 1000)actions(optional): List of actions to perform on the page, such as:- Click:
{ "type": "click", "selector": "#button-id" } - Type:
{ "type": "type", "selector": "#input-id", "text": "Hello World" } - Wait:
{ "type": "wait", "time": 2000 }
- Click:
Example:
{
"url": "http://localhost:3000",
"waitTime": 2000,
"actions": [
{ "type": "click", "selector": "#login-button" },
{ "type": "type", "selector": "#username", "text": "testuser" },
{ "type": "type", "selector": "#password", "text": "password" },
{ "type": "click", "selector": "#submit-button" },
{ "type": "wait", "time": 1000 }
]
}
2. screenshot_localhost
Take a screenshot of a localhost URL.
Parameters:
url(required): Localhost URL to screenshot (must start with http://localhost or https://localhost)fullPage(optional): Whether to take a full page screenshot (default: false)waitTime(optional): Time to wait in milliseconds after page load (default: 1000)
Example:
{
"url": "http://localhost:3000/dashboard",
"fullPage": true,
"waitTime": 2000
}
3. lint_code
Lint JavaScript, TypeScript, or CSS code files.
Parameters:
filePath(required): Path to the file to lintlanguage(optional): Language of the file (default: auto-detect from file extension)- Options: "javascript", "typescript", "css"
Example:
{
"filePath": "/path/to/your/file.js",
"language": "javascript"
}
4. validate_html
Validate HTML content or URL for standards compliance.
Parameters:
source(required): HTML content or URL to validateisUrl(optional): Whether the source is a URL (default: false)
Example:
{
"source": "<html><head><title>Test</title></head><body><h1>Hello World</h1></body></html>",
"isUrl": false
}
Or for a URL:
{
"source": "http://localhost:3000",
"isUrl": true
}
Installation
- Clone the repository:
git clone https://github.com/treaties-ai/local-scanner-mcp.git cd local-scanner-mcp - Install dependencies:
npm install - Build the project:
npm run build - Start the server:
npm start
Usage with MCP Clients
This server implements the Model Context Protocol (MCP) and can be used with any MCP client.
For VSCode/Cline
Edit the MCP settings file at ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"local-scanner": {
"command": "node",
"args": ["/Users/your_username/Documents/Cline/MCP/local-scanner-mcp/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
For WindSurf/Cascade
Edit the WindSurf configuration file at ~/Library/Application Support/WindSurf/windsurf_config.json:
{
"mcpServers": {
"local-scanner": {
"command": "node",
"args": ["/Users/your_username/Documents/WindSurf/MCP/local-scanner-mcp/build/index.js"],
"disabled": false,
"autoApprove": []
}
}
}
Replace your_username with your actual username in both configurations.
Development
To add new tools or enhance existing ones:
- Add validation functions for new tool arguments
- Update the tool list in the
setupToolHandlersmethod - Implement handler functions for the new tools
- Update the request handler to handle the new tools
- Build and test the server
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.