About Watercrawl Mcp
WaterCrawl MCP is a FastMCP server that gives AI systems access to WaterCrawl web search, scraping, and crawl management. It can run through npx or expose an SSE endpoint.
Key features
- 01Scrape URL content
- 02Search the web
- 03Manage crawl and search requests
- 04Monitor requests in real time
- 05Download crawl sitemaps
Use cases
- 01Search web results from an AI client
- 02Extract selected content from web pages
- 03Track a crawl or search and retrieve its results
MCP support
Exposes WaterCrawl search, scraping, crawl management, and request monitoring as tools to MCP clients. Supports direct npx use and SSE mode.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
6Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| download | boolean | No | Download content immediately |
| pageOptions | object | No | Page scraping options |
| pageOptions.accept_cookies_selector | string | No | CSS selector for accept cookies button |
| pageOptions.actions | array | No | Actions to perform on the page |
| pageOptions.exclude_tags | array | No | HTML tags to exclude |
| pageOptions.extra_headers | object | No | Additional HTTP headers |
| pageOptions.include_html | boolean | No | Include HTML in response |
| pageOptions.include_links | boolean | No | Include links in response |
| pageOptions.include_tags | array | No | HTML tags to include |
| pageOptions.locale | string | No | Locale for the page |
| pageOptions.only_main_content | boolean | No | Extract only main content |
| pageOptions.timeout | number | No | Page load timeout in ms |
| pageOptions.wait_time | number | No | Time to wait for page loading in ms |
| sync | boolean | No | Wait for scraping to complete |
| url | string | Yes | URL to scrape |
Details
From the project READMEWaterCrawl MCP
A Model Context Protocol (MCP) server for WaterCrawl, built with FastMCP. This package provides AI systems with web crawling, scraping, and search capabilities through a standardized interface.
Quick Start with npx (No Installation)
Use WaterCrawl MCP directly without installation using npx:
npx @watercrawl/mcp --api-key YOUR_API_KEY
Using with AI Assistants
Codeium/Windsurf
Configure your Codeium or Windsurf with this package without installing it:
{
"mcpServers": {
"watercrawl": {
"command": "npx",
"args": [
"@watercrawl/mcp",
"--api-key",
"YOUR_API_KEY",
"--base-url",
"https://app.watercrawl.dev"
]
}
}
}
Claude Desktop
Run WaterCrawl MCP in SSE mode:
npx @watercrawl/mcp sse --port 3000 --endpoint /sse --api-key YOUR_API_KEY
Then configure Claude Desktop to connect to your SSE server.
Command-line Options
-b, --base-url <url>: WaterCrawl API base URL (default: https://app.watercrawl.dev)-k, --api-key <key>: Required, your WaterCrawl API key-h, --help: Display help information-V, --version: Display version information
SSE mode additional options:
-p, --port <number>: Port for the SSE server (default: 3000)-e, --endpoint <path>: SSE endpoint path (default: /sse)
Development and Contribution
Project Structure
wc-mcp/
├── src/ # Source code
│ ├── cli/ # Command-line interface
│ ├── config/ # Configuration management
│ ├── mcp/ # MCP implementation
│ ├── services/ # WaterCrawl API services
│ └── tools/ # MCP tools implementation
├── tests/ # Test suite
├── dist/ # Compiled JavaScript
├── tsconfig.json # TypeScript configuration
├── package.json # npm package configuration
└── README.md # This file
Setup for Development
- Clone the repository and install dependencies:
git clone https://github.com/watercrawl/watercrawl-mcp
cd watercrawl-mcp
npm install
- Build the project:
npm run build
- Link the package for local development:
npm link @watercrawl/mcp
Contribution Guidelines
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add your feature') - Push to the branch (
git push origin feature/your-feature) - Open a Pull Request
Installation (Alternative to npx)
Global Installation
npm install -g @watercrawl/mcp
Local Installation
npm install @watercrawl/mcp
Configuration
Configure WaterCrawl MCP using environment variables or command-line parameters.
Environment Variables
Create a .env file or set environment variables:
WATERCRAWL_BASE_URL=https://app.watercrawl.dev
WATERCRAWL_API_KEY=YOUR_API_KEY
SSE_PORT=3000 # Optional, for SSE mode
SSE_ENDPOINT=/sse # Optional, for SSE mode
Available Tools
The WaterCrawl MCP server provides the following tools:
1. scrape-url
Scrape content from a URL with customizable options.
{
"url": "https://example.com",
"pageOptions": {
"exclude_tags": ["script", "style"],
"include_tags": ["p", "h1", "h2"],
"wait_time": 1000,
"only_main_content": true,
"include_html": false,
"include_links": true,
"timeout": 15000,
"accept_cookies_selector": ".cookies-accept-button",
"locale": "en-US",
"extra_headers": {
"User-Agent": "Custom User Agent"
},
"actions": [
{"type": "screenshot"},
{"type": "pdf"}
]
},
"sync": true,
"download": true
}
2. search
Search the web using WaterCrawl.
{
"query": "artificial intelligence latest developments",
"searchOptions": {
"language": "en",
"country": "us",
"time_range": "recent",
"search_type": "web",
"depth": "deep"
},
"resultLimit": 5,
"sync": true,
"download": true
}
3. download-sitemap
Download a sitemap from a crawl request in different formats.
{
"crawlRequestId": "uuid-of-crawl-request",
"format": "json" // or "graph" or "markdown"
}
4. manage-crawl
Manage crawl requests: list, get details, stop, or download results.
{
"action": "list", // or "get", "stop", "download"
"crawlRequestId": "uuid-of-crawl-request", // for get, stop, and download actions
"page": 1,
"pageSize": 10
}
5. manage-search
Manage search requests: list, get details, or stop running searches.
{
"action": "list", // or "get", "stop"
"searchRequestId": "uuid-of-search-request", // for get and stop actions
"page": 1,
"pageSize": 10,
"download": true
}
6. monitor-request
Monitor a crawl or search request in real-time, with timeout control.
{
"type": "crawl", // or "search"
"requestId": "uuid-of-request",
"timeout": 30, // in seconds
"download": true
}
License
ISC
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.