Server facts
Fetcher MCP
Project
- Author
- jae-jae
- Repository
- github.com/jae-jae/fetcher-mcp
- Website
- 1team.top
- License
- MIT
- Category
- Search & Web Data
Tech
- Runtime / language
- node
- Transports
- stdio
- Remote available
- No
- Authentication
- Not specified
Activity
- GitHub stars
- 1,088
- Last commit
- Data as of
Tags
- Dynamic Pages
- Markdown
- Playwright
- Web Extraction
Overview
Fetcher MCP turns web URLs into content an AI assistant can read. Rather than relying only on a simple HTTP download, it opens pages with Playwright so JavaScript can run before extraction. A built-in Readability stage isolates primary page content and removes surrounding elements such as navigation and advertisements. Users can choose Markdown or HTML output, disable extraction to retain more of the page, and cap the returned character count. A batch tool retrieves multiple URLs concurrently using browser tabs and separates the resulting page content in its response.
The request options also address practical loading problems. Timeouts, navigation-completion criteria, and an extra navigation wait can be adjusted for slow pages or verification redirects. Images, fonts, stylesheets, and other media are blocked by default to reduce unnecessary downloads, with an option to change that behavior. Visible-browser debugging can be enabled globally or per request; the README describes using it for manual login before retrieving authenticated content. The server runs through npx and requires a Chromium installation for Playwright. A browser-install tool is available when the binary is missing. Standard input/output is documented for desktop clients, while HTTP mode serves both Streamable HTTP and legacy SSE endpoints. Docker deployment is another documented option. The README identifies the project as MIT licensed.
Install & configure
Requirements
- Node.js and npx
- Playwright Chromium
- An MCP-compatible client
npx -y fetcher-mcpThe README first installs the browser with npx playwright install chromium. The browser_install tool can also resolve missing-browser errors. An HTTP launch alternative exposes /mcp and /sse. No required environment variables are stated.
Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"fetcher-mcp": {
"command": "npx",
"args": [
"-y",
"fetcher-mcp"
],
"env": {}
}
}
}Config file · Project: .cursor/mcp.json
User: ~/.cursor/mcp.json
The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"fetcher-mcp": {
"command": "npx",
"args": [
"-y",
"fetcher-mcp"
],
"env": {}
}
}
}Config file · Workspace: .vscode/mcp.json
For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.
{
"servers": {
"fetcher-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fetcher-mcp"
],
"env": {}
}
}
}Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json
Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json
Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"fetcher-mcp": {
"command": "npx",
"args": [
"-y",
"fetcher-mcp"
],
"env": {}
}
}
}Config file · Project scope: .mcp.json at the repository root
The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.
{
"mcpServers": {
"fetcher-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"fetcher-mcp"
],
"env": {}
}
}
}Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.
Tools
Source: repository tool metadata. Tool descriptions are a documented snapshot, not a live capability check.
| Tool | What it does |
|---|---|
| fetch_url | Load one URL in Playwright and return extracted or full page content. |
| fetch_urls | Retrieve several URLs concurrently with the same content and loading controls. |
| browser_install | Install Chromium for Playwright, with optional system dependencies or forced reinstallation. |
Names, permissions, and defaults can change. Check the current upstream documentation before granting access.
Use cases
- Read content from JavaScript-rendered web pages.
- Extract article text without navigation and ads.
- Fetch several research URLs in parallel.
- Use a visible browser to log in before retrieving authenticated content.
Strengths
- Executes JavaScript before extracting page content.
- Supports Markdown, HTML, and optional main-content extraction.
- Offers batch retrieval and detailed navigation controls.
Limitations
- Needs a Playwright Chromium binary and associated runtime dependencies.
- Verification-heavy pages may require manual interaction or timeout tuning.
- Default resource blocking changes what the browser loads.
Frequently asked questions
Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.