MCP URL Format Converter
Obtiene contenido de cualquier URL y lo convierte a HTML, JSON, Markdown o texto plano.
Documentación
MCP URL Format Converter
Un servidor de Protocolo de Contexto de Modelo (MCP) que obtiene contenido de cualquier URL y lo convierte al formato de salida que desees.
Descripción general
MCP URL Format Converter proporciona herramientas para recuperar contenido de cualquier URL web y transformarlo en varios formatos (HTML, JSON, Markdown o texto plano), independientemente del tipo de contenido original. Está diseñado para funcionar con cualquier cliente compatible con MCP, incluido Claude for Desktop, lo que permite a los LLM acceder, transformar y analizar contenido web en un formato consistente.
Características
- 🔄 Conversión de formato: Transforma cualquier contenido web a HTML, JSON, Markdown o texto plano
- 🌐 Soporte universal de entrada: Maneja sitios web, APIs, archivos sin procesar y más
- 🔍 Detección automática de contenido: Identifica inteligentemente el formato de origen
- 🧰 Soporte robusto de bibliotecas: Utiliza bibliotecas estándar de la industria:
- Cheerio para análisis de HTML
- Marked para procesamiento de Markdown
- Fast-XML-Parser para manejo de XML
- CSVtoJSON para conversión de CSV
- SanitizeHTML para seguridad
- Turndown para conversión de HTML a Markdown
- 🔧 Procesamiento avanzado de formatos:
- Análisis de HTML con extracción de metadatos
- Impresión bonita de JSON y preservación de estructura
- Renderizado de Markdown con estilos
- Conversión de CSV a tablas
- Transformación de XML a JSON
- 📜 Seguimiento de historial: Mantiene registros de URLs obtenidas recientemente
- 🛡️ Enfoque en seguridad: Saneamiento de contenido para prevenir ataques XSS
Instalación
Requisitos previos
- Node.js 16.x o superior
- npm o yarn
Inicio rápido
-
Clona el repositorio:
git clone https://github.com/yourusername/mcp-url-converter.git cd mcp-url-converter -
Instala las dependencias:
npm install -
Compila el proyecto:
npm run build -
Ejecuta el servidor:
npm start
Integración con Claude for Desktop
-
Abre tu archivo de configuración de Claude for Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
Agrega el servidor de conversión de URL a tu configuración:
{ "mcpServers": { "url-converter": { "command": "node", "args": ["/absolute/path/to/mcp-url-converter/build/index.js"] } } } -
Reinicia Claude for Desktop
Herramientas disponibles
fetch
Obtiene contenido de cualquier URL y detecta automáticamente el mejor formato de salida.
Parámetros:
url(cadena, obligatorio): La URL de la que se obtendrá el contenidoformat(cadena, opcional): Formato al que convertir (auto,html,json,markdown,text). Predeterminado:auto
Ejemplo:
Can you fetch https://example.com and choose the best format to display it?
fetch-json
Obtiene contenido de cualquier URL y lo convierte a formato JSON.
Parámetros:
url(cadena, obligatorio): La URL de la que se obtendrá el contenidoprettyPrint(booleano, opcional): Si se debe imprimir el JSON de forma bonita. Predeterminado:true
Ejemplo:
Can you fetch https://example.com and convert it to JSON format?
fetch-html
Obtiene contenido de cualquier URL y lo convierte a formato HTML.
Parámetros:
url(cadena, obligatorio): La URL de la que se obtendrá el contenidoextractText(booleano, opcional): Si se debe extraer solo el contenido de texto. Predeterminado:false
Ejemplo:
Can you fetch https://api.example.com/users and convert it to HTML?
fetch-markdown
Obtiene contenido de cualquier URL y lo convierte a formato Markdown.
Parámetros:
url(cadena, obligatorio): La URL de la que se obtendrá el contenido
Ejemplo:
Can you fetch https://example.com and convert it to Markdown?
fetch-text
Obtiene contenido de cualquier URL y lo convierte a formato de texto plano.
Parámetros:
url(cadena, obligatorio): La URL de la que se obtendrá el contenido
Ejemplo:
Can you fetch https://example.com and convert it to plain text?
web-search y deep-research
Estas herramientas proporcionan interfaces para las capacidades de búsqueda de Perplexity (cuando el host MCP lo admite).
Recursos disponibles
recent-urls://list
Devuelve una lista de URLs obtenidas recientemente con marcas de tiempo y formatos de salida.
Ejemplo:
What URLs have I fetched recently?
Seguridad
Este servidor implementa varias medidas de seguridad:
- Saneamiento de HTML usando
sanitize-htmlpara prevenir ataques XSS - Validación de contenido antes del procesamiento
- Manejo de errores y valores predeterminados seguros
- Validación de parámetros de entrada con Zod
- Codificación segura de salida
Pruebas
Puedes probar el servidor usando el MCP Inspector:
npm run test
Solución de problemas
Problemas comunes
- Errores de conexión: Verifica que la URL sea accesible y esté correctamente formateada
- Errores de conversión: Algunos contenidos complejos pueden no convertirse limpiamente entre formatos
- Problemas de origen cruzado: Algunos sitios web pueden bloquear solicitudes de fuentes desconocidas
Modo de depuración
Para obtener información adicional de depuración, establece la variable de entorno DEBUG:
DEBUG=mcp:* npm start
Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.
Agradecimientos
- Construido con el Protocolo de Contexto de Modelo
- Utiliza bibliotecas modernas y mantenidas activamente con enfoque en seguridad
- Enfoque de saneamiento basado en las recomendaciones de OWASP
Última actualización: 29 de marzo de 2025