Fetcher MCP
The Fetcher MCP server is an AI-powered tool that uses Playwright's headless browser to fetch and extract web page content efficiently.
Key capabilities:
URL Fetching: Retrieve content from single or multiple URLs concurrently
Content Extraction: Intelligently extract main content from web pages
Format Options: Return content as HTML or Markdown
Browser Control: Handle dynamic JavaScript content, set navigation completion conditions, and wait for additional navigation
Resource Optimization: Option to disable media resources (images, stylesheets, fonts)
Performance Settings: Customize timeouts, content length limits, and debug modes
Utilizes GitHub for distribution of releases and repository management.
Leverages Shields.io for creating download badges and visual status indicators.
Connects with Slack to enable community engagement and collaboration through a dedicated channel.
Click on "Install 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., "@Fetcher MCPfetch the latest AI news from TechCrunch"
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.
π Fetcher MCP - Playwright Headless Browser Server
Welcome to the Fetcher MCP GitHub repository! This repository hosts the MCP server for fetching web page content using the Playwright headless browser.
π§ About
The Fetcher MCP is designed to leverage artificial intelligence capabilities to efficiently retrieve web page content. By utilizing the Playwright headless browser, this server can navigate through web pages and extract desired information with ease.
Related MCP server: Fetch MCP
π― Key Features
π€ AI-Powered Content Fetching
π Playwright Integration
π Fast and Efficient
π Easy Setup and Configuration
π Repository Details
Name: fetcher-mcp
Description: MCP server for fetch web page content using Playwright headless browser
Topics: AI, MCP, Playwright
π¦ Latest Release
You can download the latest version of the Fetcher MCP server from the following link:
:information_source: Note:
The provided link leads directly to the application file. Please make sure to launch the application after downloading.
If the link is not accessible or does not work, you can check the "Releases" section of this repository for alternative download options.
π Get Started
To start using the Fetcher MCP server for content fetching, follow these simple steps:
Download the latest version from the link above.
Unzip the downloaded file to your desired location.
Launch the application.
Configure the server settings as needed.
Start fetching web page content effortlessly!
π Additional Resources
For more information, resources, or support regarding the Fetcher MCP server, feel free to visit the official website at https://github.com/everford/fetcher-mcp/releases.
π Contribution Guidelines
We welcome contributions to enhance the Fetcher MCP server and make it even more powerful and efficient. If you have any ideas, suggestions, or improvements, please submit a pull request following our guidelines.
π Join Our Community
Connect with other developers, share insights, and stay updated on the latest news related to the Fetcher MCP server by joining our community:
π₯ Slack Channel
π¦ Twitter
π§ Newsletter
π Start using the Fetcher MCP server today for seamless web page content fetching with AI-powered capabilities. Effortlessly extract the information you need using the Playwright headless browser integration. Happy Fetching! π
Remember, the Fetcher MCP server simplifies the process of web page content retrieval, making it faster and more efficient than ever before. Download the latest version now and experience the power of AI and Playwright in action. Happy fetching! π
Available Tools
2 toolsfetch_urlC
Retrieve web page content from a specified URL
| Name | Required | Description | Default |
|---|---|---|---|
| debug | No | Whether to enable debug mode (showing browser window), overrides the --debug command line flag if specified | |
| disableMedia | No | Whether to disable media resources (images, stylesheets, fonts, media), default is true | |
| extractContent | No | Whether to intelligently extract the main content, default is true | |
| maxLength | No | Maximum length of returned content (in characters), default is no limit | |
| navigationTimeout | No | Maximum time to wait for additional navigation in milliseconds, default is 10000 (10 seconds) | |
| returnHtml | No | Whether to return HTML content instead of Markdown, default is false | |
| timeout | No | Page loading timeout in milliseconds, default is 30000 (30 seconds) | |
| url | Yes | URL to fetch | |
| waitForNavigation | No | Whether to wait for additional navigation after initial page load (useful for sites with anti-bot verification), default is false | |
| waitUntil | No | Specifies when navigation is considered complete, options: 'load', 'domcontentloaded', 'networkidle', 'commit', default is 'load' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but only states the basic action. It fails to mention critical traits such as rate limits, authentication needs, potential for blocking or CAPTCHAs, error handling, or what 'retrieve' entails (e.g., using a headless browser, returning structured data). The description is too minimal for a tool with 10 parameters and complex web interactions.
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 front-loads the core purpose without unnecessary words. It earns its place by clearly stating what the tool does, making it highly concise and well-structured for quick understanding.
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 complexity (10 parameters, web scraping functionality) and lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects, error cases, or return values, leaving significant gaps for an agent to understand how to use it effectively in real-world scenarios.
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 description adds no parameter-specific information beyond what the input schema provides. Since schema description coverage is 100%, with detailed descriptions for all 10 parameters, the baseline score of 3 is appropriate. The description doesn't compensate but doesn't need to, as the schema fully documents parameters like 'debug', 'extractContent', and 'waitUntil'.
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 tool's purpose as retrieving web page content from a URL, using specific verbs ('retrieve') and resources ('web page content', 'specified URL'). It distinguishes the core function but doesn't explicitly differentiate from the sibling tool 'fetch_urls', which appears to be a plural/multiple URL version.
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 provides no guidance on when to use this tool versus alternatives like 'fetch_urls' or other web scraping methods. It lacks context about prerequisites, limitations, or typical use cases, leaving the agent with no usage direction beyond the basic purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetch_urlsC
Retrieve web page content from multiple specified URLs
| Name | Required | Description | Default |
|---|---|---|---|
| debug | No | Whether to enable debug mode (showing browser window), overrides the --debug command line flag if specified | |
| disableMedia | No | Whether to disable media resources (images, stylesheets, fonts, media), default is true | |
| extractContent | No | Whether to intelligently extract the main content, default is true | |
| maxLength | No | Maximum length of returned content (in characters), default is no limit | |
| navigationTimeout | No | Maximum time to wait for additional navigation in milliseconds, default is 10000 (10 seconds) | |
| returnHtml | No | Whether to return HTML content instead of Markdown, default is false | |
| timeout | No | Page loading timeout in milliseconds, default is 30000 (30 seconds) | |
| urls | Yes | Array of URLs to fetch | |
| waitForNavigation | No | Whether to wait for additional navigation after initial page load (useful for sites with anti-bot verification), default is false | |
| waitUntil | No | Specifies when navigation is considered complete, options: 'load', 'domcontentloaded', 'networkidle', 'commit', default is 'load' |
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 of behavioral disclosure. It states the tool retrieves content but lacks details on critical behaviors: it doesn't mention authentication needs, rate limits, error handling, or what the output looks like (e.g., format, structure). For a tool with 10 parameters and no output schema, this is a significant gap in transparency.
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: 'Retrieve web page content from multiple specified URLs.' It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for the tool's complexity. Every part of the sentence earns its place by clearly stating the action and scope.
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 complexity (10 parameters, no annotations, no output schema), the description is incomplete. It doesn't address behavioral aspects like how content is returned, error cases, or performance constraints. While the schema covers parameters well, the description fails to provide necessary context for effective use, especially without annotations or output schema to fill gaps.
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 schema description coverage is 100%, meaning all parameters are well-documented in the input schema itself. The description doesn't add any semantic details beyond what's in the schema (e.g., it doesn't explain how 'urls' are processed or interactions between parameters). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 tool's purpose: 'Retrieve web page content from multiple specified URLs.' It specifies the verb ('Retrieve'), resource ('web page content'), and scope ('multiple specified URLs'), which is specific and actionable. However, it doesn't explicitly distinguish this tool from its sibling 'fetch_url' (which presumably handles single URLs), missing full differentiation for a top score.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention the sibling tool 'fetch_url' or explain scenarios where fetching multiple URLs is preferred over single ones. There's no context about prerequisites, limitations, or best practices, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have overlapping purposesβboth fetch web page contentβbut the descriptions clarify that one handles a single URL while the other handles multiple URLs. This distinction is clear enough to avoid misselection, but the core functionality is identical, leading to some ambiguity in why they are separate tools.
The tool names follow a perfectly consistent verb_noun pattern with 'fetch_url' and 'fetch_urls', using snake_case throughout. The naming is predictable and clear, with no deviations in style or convention.
With only two tools, the server feels under-scoped for a general-purpose 'Fetcher' domain. A single tool with parameters for single or multiple URLs could suffice, making the current count seem redundant and inefficient for typical agent workflows.
The tool surface is severely incomplete for web fetching; it lacks essential operations like handling HTTP methods (e.g., POST), managing headers, parsing content, or error handling. Agents will face dead ends when needing more than basic retrieval, causing frequent failures.
Related MCP Connectors
Zenrows MCP server β Fetch, Extract, Batch, and Browser Sessions for AI coding assistants
AI-powered browser automation β navigate, click, fill forms, and extract data from any website.
Web scraping for AI agents. Extract text and metadata from any URL worldwide. $0.005/page.
Fetch pages as markdown, search web and news, extract structured data. For AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn advanced web browsing server enabling headless browser interactions via a secure API, providing features like navigation, content extraction, element interaction, and screenshot capture.627MIT
- AlicenseBqualityFmaintenanceAn MCP server that retrieves web page content using Playwright headless browser, capable of extracting main content and converting to Markdown format.34,9761,079MIT
- AlicenseBqualityDmaintenanceA browser automation server providing Playwright capabilities for controlling web browsers, capturing screenshots, extracting content, and performing complex interactions through an MCP interface.6Apache 2.0
- AlicenseBqualityDmaintenanceProvides web content fetching capabilities using Playwright browser automation, enabling LLMs to retrieve and process JavaScript-rendered content from web pages and convert HTML to markdown for easier consumption.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/everford/fetcher-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server