by nathanonn
A Model Context Protocol (MCP) server that fetches content from any URL and converts it to your desired output format.
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.
Clone the repository:
git clone https://github.com/yourusername/mcp-url-converter.git cd mcp-url-converter
Install dependencies:
npm install
Build the project:
npm run build
Run the server:
npm start
Open your Claude for Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the URL converter server to your configuration:
*Configuration content*
Can you fetch https://example.com and choose the best format to display it?
### `fetch-json`
Fetches content from any URL and converts it to JSON format.
**Parameters:**
- `url` (string, required): The URL to fetch content from
- `prettyPrint` (boolean, optional): Whether to pretty-print the JSON. Default: `true`
**Example:**
Can you fetch https://example.com and convert it to JSON format?
### `fetch-html`
Fetches content from any URL and converts it to HTML format.
**Parameters:**
- `url` (string, required): The URL to fetch content from
- `extractText` (boolean, optional): Whether to extract text content only. Default: `false`
**Example:**
Can you fetch https://api.example.com/users and convert it to HTML?
### `fetch-markdown`
Fetches content from any URL and converts it to Markdown format.
**Parameters:**
- `url` (string, required): The URL to fetch content from
**Example:**
Can you fetch https://example.com and convert it to Markdown?
### `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:**
Can you fetch https://example.com and convert it to plain text?
### `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:**
What URLs have I fetched recently?
## Security
This server implements several security measures:
- HTML sanitization using `sanitize-html` to prevent XSS attacks
- Content 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:
```bash
npm run test
For additional debugging information, set the DEBUG
environment variable:
DEBUG=mcp:* npm start
This project is licensed under the MIT License - see the LICENSE file for details.
Last updated: 29 March 2025
No version information available