MCP NPX Fetch
A powerful MCP server for fetching and transforming web content into various formats (HTML, JSON, Markdown, Plain Text) with ease.
Installation β’ Features β’ Usage β’ Documentation β’ Contributing
π Features
- π Universal Content Fetching: Supports HTML, JSON, plain text, and Markdown formats
- π Custom Headers Support: Add authentication and custom headers to your requests
- π Built-in Transformations: Automatic conversion between formats
- β‘ High Performance: Built with modern JavaScript features and optimized for speed
- π MCP Compatible: Seamlessly integrates with Claude Desktop and other MCP clients
- π― Type-Safe: Written in TypeScript with full type definitions
π¦ Installation
NPM Global Installation
npm install -g @tokenizin/mcp-npx-fetch
Direct Usage with NPX
npx @tokenizin/mcp-npx-fetch
π Documentation
Available Tools
fetch_html
Fetches and returns raw HTML content from any URL.
{
url: string; // Required: Target URL
headers?: { // Optional: Custom request headers
[key: string]: string;
};
}
fetch_json
Fetches and parses JSON data from any URL.
{
url: string; // Required: Target URL
headers?: { // Optional: Custom request headers
[key: string]: string;
};
}
fetch_txt
Fetches and returns clean plain text content, removing HTML tags and scripts.
{
url: string; // Required: Target URL
headers?: { // Optional: Custom request headers
[key: string]: string;
};
}
fetch_markdown
Fetches content and converts it to well-formatted Markdown.
{
url: string; // Required: Target URL
headers?: { // Optional: Custom request headers
[key: string]: string;
};
}
π§ Usage
CLI Usage
Start the MCP server directly:
mcp-npx-fetch
Or via npx:
npx @tokenizin/mcp-npx-fetch
Claude Desktop Integration
-
Locate your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add the following configuration to your
mcpServers
object:
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "@tokenizin/mcp-npx-fetch"],
"env": {}
}
}
}
π» Local Development
- Clone the repository:
git clone https://github.com/tokenizin-agency/mcp-npx-fetch.git
cd mcp-npx-fetch
- Install dependencies:
npm install
- Start development mode:
npm run dev
- Run tests:
npm test
π Technical Stack
- Model Context Protocol SDKβ - Core MCP functionality
- JSDOMβ - HTML parsing and manipulation
- Turndownβ - HTML to Markdown conversion
- TypeScriptβ - Type safety and modern JavaScript features
- Zodβ - Runtime type validation
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
π License
This project is licensed under the MIT License - see the LICENSE file for details.