mcp-npx-fetch
Language:
TypeScript
Stars:
11
Forks:
2
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.
Made with ❤️ by PT Tokenizin Technology Agency
Publisher info
Tokenizin Technology Agency
Tokenizing RWA Agency using Technology