fetch-mcp
A flexible HTTP fetching Model Context Protocol server.
Documentation
Fetch MCP Server

This MCP server provides functionality to fetch web content in various formats, including HTML, JSON, plain text, and Markdown.
Components
Tools
- fetch_html
- Fetch a website and return the content as HTML
- Input:
- `url` (string, required): URL of the website to fetch
- `headers` (object, optional): Custom headers to include in the request
- Returns the raw HTML content of the webpage
- fetch_json
- Fetch a JSON file from a URL
- Input:
- `url` (string, required): URL of the JSON to fetch
- `headers` (object, optional): Custom headers to include in the request
- Returns the parsed JSON content
- fetch_txt
- Fetch a website and return the content as plain text (no HTML)
- Input:
- `url` (string, required): URL of the website to fetch
- `headers` (object, optional): Custom headers to include in the request
- Returns the text content of the webpage with HTML tags, scripts, and styles removed
- fetch_markdown
- Fetch a website and return the content as Markdown
- Input:
- `url` (string, required): URL of the website to fetch
- `headers` (object, optional): Custom headers to include in the request
- Returns the content of the webpage converted to Markdown format
Resources
This server does not provide any persistent resources. It's designed to fetch and transform web content on demand.
Getting started
1. Clone the repository
2. Install dependencies: `npm install`
3. Build the server: `npm run build`
Installing via Smithery
To install fetch-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @goswamig/fetch-mcp --client claudeUsage
To use the server, you can run it directly:
npm startThis will start the Fetch MCP Server running on stdio.
Usage with Desktop App
To integrate this server with a desktop app, add the following to your app's server configuration:
{
"mcpServers": {
"fetch": {
"command": "node",
"args": [
"{ABSOLUTE PATH TO FILE HERE}/dist/index.js"
]
}
}
}Features
- Fetches web content using modern fetch API
- Supports custom headers for requests
- Provides content in multiple formats: HTML, JSON, plain text, and Markdown
- Uses JSDOM for HTML parsing and text extraction
- Uses TurndownService for HTML to Markdown conversion
Development
- Run `npm run dev` to start the TypeScript compiler in watch mode
- Use `npm test` to run the test suite
License
This project is licensed under the MIT License.
Frequently asked questions
What is fetch-mcp?
fetch-mcp is A flexible HTTP fetching Model Context Protocol server.
How do I install fetch-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is fetch-mcp open source?
Yes — it is hosted on GitHub at https://github.com/goswamig/fetch-mcp and has 3 stars.
Related MCP tools
Model Context Protocol Servers
The Open-Source Multimodal AI Agent Stack: Connecting Cutting-Edge AI Models and Agent Infra
A MCP for Claude Desktop / Claude Code / Windsurf / Cursor to build n8n workflows for you
MCP server to provide Figma layout information to AI coding agents like Cursor
The world's best AI personal assistant for email. Open source app to help you reach inbox zero fast.
Instant is the best backend for AI-coded apps. You get auth, permissions, storage, presence, and streams — everything you need to ship apps your users will love.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP