MCP URL Format Converter
A Model Context Protocol (MCP) server that fetches content from any URL and converts it to your desired output format.
Overview
MCP URL Format Converter provides tools for retrieving content from any web URL and transforming it into various formats (HTML, JSON, Markdown, or plain text), regardless of the original content type. It's designed to work with any MCP-compatible client, including Claude for Desktop, enabling LLMs to access, transform, and analyze web content in a consistent format.
Features
🔄 Format Conversion: Transform any web content to HTML, JSON, Markdown, or plain text
🌐 Universal Input Support: Handle websites, APIs, raw files, and more
🔍 Automatic Content Detection: Intelligently identifies source format
🧰 Robust Library Support: Uses industry-standard libraries:
Cheerio for HTML parsing
Marked for Markdown processing
Fast-XML-Parser for XML handling
CSVtoJSON for CSV conversion
SanitizeHTML for security
Turndown for HTML-to-Markdown conversion
🔧 Advanced Format Processing:
HTML parsing with metadata extraction
JSON pretty-printing and structure preservation
Markdown rendering with styling
CSV-to-table conversion
XML-to-JSON transformation
📜 History Tracking: Maintains logs of recently fetched URLs
🛡️ Security Focus: Content sanitization to prevent XSS attacks
Installation
Prerequisites
Node.js 16.x or higher
npm or yarn
Quick Start
Clone the repository:
git clone https://github.com/yourusername/mcp-url-converter.git cd mcp-url-converterInstall dependencies:
npm installBuild the project:
npm run buildRun the server:
npm start
Integration with Claude for Desktop
Open your Claude for Desktop configuration file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the URL converter server to your configuration:
{ "mcpServers": { "url-converter": { "command": "node", "args": ["/absolute/path/to/mcp-url-converter/build/index.js"] } } }Restart Claude for Desktop
Available Tools
fetch
Fetches content from any URL and automatically detects the best output format.
Parameters:
url
(string, required): The URL to fetch content fromformat
(string, optional): Format to convert to (auto
,html
,json
,markdown
,text
). Default:auto
Example:
fetch-json
Fetches content from any URL and converts it to JSON format.
Parameters:
url
(string, required): The URL to fetch content fromprettyPrint
(boolean, optional): Whether to pretty-print the JSON. Default:true
Example:
fetch-html
Fetches content from any URL and converts it to HTML format.
Parameters:
url
(string, required): The URL to fetch content fromextractText
(boolean, optional): Whether to extract text content only. Default:false
Example:
fetch-markdown
Fetches content from any URL and converts it to Markdown format.
Parameters:
url
(string, required): The URL to fetch content from
Example:
fetch-text
Fetches content from any URL and converts it to plain text format.
Parameters:
url
(string, required): The URL to fetch content from
Example:
web-search
and deep-research
These tools provide interfaces to Perplexity search capabilities (when supported by the MCP host).
Available Resources
recent-urls://list
Returns a list of recently fetched URLs with timestamps and output formats.
Example:
Security
This server implements several security measures:
HTML sanitization using
sanitize-html
to prevent XSS attacksContent validation before processing
Error handling and safe defaults
Input parameter validation with Zod
Safe output encoding
Testing
You can test the server using the MCP Inspector:
Troubleshooting
Common Issues
Connection errors: Verify that the URL is accessible and correctly formatted
Conversion errors: Some complex content may not convert cleanly between formats
Cross-origin issues: Some websites may block requests from unknown sources
Debug Mode
For additional debugging information, set the DEBUG
environment variable:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with the Model Context Protocol
Uses modern, actively maintained libraries with security focus
Sanitization approach based on OWASP recommendations
Last updated: 29 March 2025
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
A Model Context Protocol server that enables LLMs to fetch and process web content in multiple formats (HTML, JSON, Markdown, text) with automatic format detection.
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server that allows LLMs to interact with web content through standardized tools, currently supporting web scraping functionality.Last updated -1MIT License
- -securityFlicense-qualityA Model Context Protocol server that enables LLMs to extract and use content from unstructured documents across a wide variety of file formats.Last updated -6
- AsecurityAlicenseAqualityA Model Context Protocol server that converts various file formats (PDF, PowerPoint, Word, Excel, Images, etc.) to Markdown to make them accessible to LLMs.Last updated -1MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables LLMs to retrieve web content and save it to local files for permanent storage and later access.Last updated -11MIT License