Markdown to any text

Convierte markdown a cualquier formato de texto que desees

Documentación

AI Answer Copier — Exportador Multi-Formato Impulsado por MCP

Convierte el "Ruido de IA" en "Material Listo para el Aula" en 5 Segundos.

npm version License: MIT MCP Registry Glama GitHub

Un servidor de Protocolo de Contexto de Modelo (MCP) que le da a tu asistente de IA el poder de convertir Markdown en 22 formatos de documentos profesionales, convertir por lotes múltiples documentos en 22 formatos en una sola llamada, analizar documentos, reparar Markdown dañado y convertir entre plataformas, todo sin salir de tu chat de IA.

image

npm: https://www.npmjs.com/package/@xjtlumedia/markdown-mcp-server


Por Qué Existe Esto

Le pediste a una IA que escribiera 20 preguntas. Lo hizo. Pero ahora estás atascado:

Punto de DolorFlujo de Trabajo ManualCon AI Answer Copier
Extraer preguntas y respuestas10–15 min copiando cada línea2 segundos (detección automática)
Formatear matemáticas20 min arreglando símbolos rotosInstantáneo (soporte KaTeX)
Subida al LMS15 min de entrada manual en CSVExportación en 1 clic
Tiempo total de preparación~45–60 minutos< 1 minuto

Generar contenido toma segundos. Formatearlo para el mundo real toma una hora. Este servidor MCP elimina esa brecha por completo.


Demostración en Vivo

Versión web en línea (sin necesidad de instalación): ai-answer-copier.vercel.app

live_demo1 live_demo2

Prueba la herramienta MCP en el inspector:

MCP server

Usa una instancia MCP real:

MCP1 MCP2

Las 34 Herramientas MCP

Herramientas de Conversión de Documentos (15)

#HerramientaSalidaDescripción
1harmonize_markdown.mdEstandariza y normaliza la sintaxis de Markdown (encabezados ATX, marcadores de lista -, bloques de código delimitados) sin cambiar el significado
2convert_to_txt.txtElimina todo el formato para producir texto plano
3convert_to_html.htmlDocumento HTML completo con estilo, tablas GFM, matemáticas KaTeX y hoja de estilos incrustada
4generate_htmlCadena HTMLGenera HTML autocontenido con todos los estilos en línea (solo lectura, sin E/S de archivos)
5convert_to_pdf.pdfPDF listo para imprimir mediante Chromium sin interfaz gráfica con matemáticas KaTeX completas y resaltado de sintaxis
6convert_to_docx.docxDocumento de Microsoft Word con encabezados, listas y formato de código con estilo
7convert_to_latex.texCódigo fuente de LaTeX con \section, entornos de lista y paso directo de matemáticas nativas
8convert_to_rtf.rtfFormato de Texto Enriquecido para procesadores de texto y clientes de correo heredados
9convert_to_csv.csvExtrae tablas de tuberías GFM a valores separados por comas
10convert_to_json.jsonRepresentación JSON estructurada con secciones, encabezados, listas, bloques de código y tablas
11convert_to_xml.xmlXML bien formado con declaración <?xml?> y elementos estructurados
12convert_to_xlsx.xlsxHoja de cálculo de Excel: cada tabla de Markdown se convierte en una hoja
13convert_to_image.pngCaptura de pantalla PNG a página completa mediante Chromium sin interfaz gráfica
14convert_to_md.mdExporta Markdown a un archivo, opcionalmente armonizando el formato primero (harmonize=true)
15convert_to_email_html.htmlHTML optimizado para correo con todos los estilos en línea, compatible con Outlook, Gmail y Apple Mail

Herramientas de Conversión de Plataforma (10)

#HerramientaPlataforma DestinoDescripción
16convert_to_slackSlackFormato mrkdwn: negrita como *, enlaces como <url|text>, encabezados como texto en negrita
17convert_to_discordDiscordEncabezados en negrita/subrayado con estilo, bloques de código conservados
18convert_to_jiraJIRAMarcado Wiki: h1./h2., bloques {code}, enlaces [text|url]
19convert_to_confluenceConfluenceMarcado Wiki con paneles {info}, {note} y sintaxis {code:language=x}
20convert_to_asciidocAsciiDocEncabezados =, bloques de código ----, enlaces url[text], directivas image::
21convert_to_rstreStructuredTextEncabezados subrayados, directivas .. code-block::, sintaxis de referencia RST
22convert_to_mediawikiMediaWikiEncabezados ==, '''bold''', etiquetas <syntaxhighlight>, {\ wikitable
23convert_to_bbcodeBBCodeEtiquetas [b], [i], [code], [url], [img] para foros phpBB/vBulletin
24convert_to_textileTextileMarcado para Redmine, Basecamp y plataformas CMS
25convert_to_orgmodeModo Org de EmacsEncabezados *, código #+BEGIN_SRC/#+END_SRC, enlaces [[url][text]]

Herramientas de Importación (1)

#HerramientaDescripción
26html_to_markdownConvierte contenido HTML (documento completo o fragmento) de vuelta a Markdown

Herramientas de Reparación y Lint (2)

#HerramientaDescripción
27repair_markdownRepara Markdown dañado de salidas de LLM o copiar y pegar: delimitadores de código sin cerrar, tablas rotas, marcadores de énfasis sueltos, espacios faltantes en encabezados, enlaces rotos
28lint_markdownEjecuta lint e informa problemas como un arreglo JSON con número de línea, severidad, nombre de regla, mensaje y bandera de corrección

Herramientas de Análisis de Documentos (5)

#HerramientaDescripción
29extract_code_blocksExtrae todos los bloques de código con lenguaje, contenido y números de línea de inicio/fin
30extract_linksExtrae todos los enlaces e imágenes con texto, URL, número de línea y tipo (en línea, referencia, imagen, enlace automático)
31generate_tocGenera una Tabla de Contenidos en Markdown a partir de encabezados con max_depth configurable (1–6)
32analyze_documentEstadísticas completas: recuentos de líneas/palabras/caracteres/párrafos/oraciones, recuentos de encabezados/código/tablas/enlaces/imágenes, tiempo de lectura estimado
33extract_structureArquitectura del documento a vista de pájaro: estadísticas, esquema de encabezados, resumen de bloques de código, resumen de enlaces

Conversión por Lotes (1)

#HerramientaEntradaDescripción
34batch_convertitems[] × formats[]Convierte por lotes múltiples documentos Markdown a 22 formatos en una sola llamada. Errores aislados por elemento+formato. output_dir opcional para salida de archivos. Formatos: txt, csv, json, xml, xlsx, latex, rtf, docx, pdf, html, md, email, slack, discord, jira, confluence, asciidoc, rst, mediawiki, bbcode, textile, orgmode

6 Prompts Integrados

Plantillas de prompts preconfiguradas que orquestan múltiples herramientas:

PromptDescripción
convert-documentConvierte Markdown a cualquier formato compatible (PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG, TXT, MD)
extract-tablesExtrae todas las tablas de Markdown y las exporta como CSV o XLSX
format-for-sharingArmoniza el formato y luego convierte a PDF y HTML para distribución
analyze-and-repairLint → Reparar → Re-lint para confirmar que todos los problemas están resueltos
convert-for-platformConvierte Markdown a cualquier formato de plataforma (Slack, Discord, JIRA, Confluence, AsciiDoc, RST, MediaWiki, BBCode, Textile, Modo Org)
document-overviewVista general completa: estadísticas, TOC, bloques de código y enlaces en un solo informe

2 Recursos

URI del RecursoDescripción
markdown-formatter://supported-formatsLista JSON completa de los 23+ formatos de salida con nombres y tipos de herramientas
markdown-formatter://conversion-guideGuía para elegir el formato de salida correcto según tu caso de uso

Inicio Rápido

Instalación mediante npx (Recomendado)

No se necesita instalación: solo configura tu cliente MCP:

{
  "mcpServers": {
    "ai-answer-copier": {
      "command": "npx",
      "args": ["-y", "@xjtlumedia/markdown-mcp-server"]
    }
  }
}

Instalación Global

npm install -g @xjtlumedia/markdown-mcp-server

Luego configura:

{
  "mcpServers": {
    "ai-answer-copier": {
      "command": "markdown-mcp-server"
    }
  }
}

Configuración por Cliente de IA

🔌 Claude Desktop

image

Edita %APPDATA%\Claude\claude_desktop_config.json (Windows) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

{
  "mcpServers": {
    "ai-answer-copier": {
      "command": "npx",
      "args": ["-y", "@xjtlumedia/markdown-mcp-server"]
    }
  }
}

Reinicia Claude Desktop. Verás un ícono 🔌: las 34 herramientas ahora están disponibles.

VS Code (GitHub Copilot)

Agrega a .vscode/mcp.json o a la configuración de VS Code:

{
  "servers": {
    "ai-answer-copier": {
      "command": "npx",
      "args": ["-y", "@xjtlumedia/markdown-mcp-server"]
    }
  }
}

Cursor / Windsurf / Cualquier Cliente MCP

Usa el mismo patrón de comando npx de arriba en la configuración MCP de tu cliente.

Versión DIY (compilación local)

{
  "mcpServers": {
    "markdown-formatter": {
      "command": "node",
      "args": [
        "YOUR_PATH_TO_PROJECT/mcp-server/dist/mcp-server/src/index.js"
      ]
    }
  }
}

Reemplaza YOUR_PATH_TO_PROJECT con la ruta absoluta a esta carpeta.

Modo HTTP (Vercel)

Un endpoint HTTP alojado está disponible para integraciones basadas en navegador y remotas:

https://ai-answer-copier.vercel.app/api/mcp

Prueba con MCP Inspector:

npx @modelcontextprotocol/inspector https://ai-answer-copier.vercel.app/api/mcp

Ejemplos de Uso

Una vez conectado, solo habla con tu IA de forma natural:

"Convierte por lotes 5 documentos markdown a DOCX, PDF y HTML simultáneamente y guárdalos en mi carpeta de Descargas." → La IA usa batch_convert con items[] y formats[]

"Genera 10 preguntas de física sobre las Leyes de Newton y expórtalas como un CSV de Kahoot." → La IA usa convert_to_csv

"Convierte este markdown en un documento de Word y guárdalo en mi Escritorio." → La IA llama a convert_to_docx con output_path

"Toma estas notas de clase y produce un PDF listo para imprimir." → La IA llama a convert_to_pdf con renderizado Puppeteer, matemáticas KaTeX y resaltado de sintaxis

"Convierte esto en un banco de preguntas XML compatible con Moodle." → La IA llama a convert_to_xml

"Formatea esto para Slack y envíalo al canal del equipo." → La IA llama a convert_to_slack

"Revisa este Markdown en busca de problemas y arréglalos." → La IA llama a lint_markdown y luego a repair_markdown

"Dame una vista general de este documento: recuento de palabras, estructura, todos los enlaces." → La IA encadena analyze_document + generate_toc + extract_links


Características

22 Formatos de Salida

Exporta a PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG, TXT, Markdown — además de Slack, Discord, JIRA, Confluence, AsciiDoc, RST, MediaWiki, BBCode, Textile, Modo Org y HTML de correo.

Conversión por Lotes

Convierte múltiples documentos Markdown a múltiples formatos en una sola llamada a batch_convert. Los errores se aíslan por elemento+formato, por lo que una falla nunca bloquea el resto.

Matemáticas y Código como Ciudadanos de Primera Clase

Soporte completo para expresiones matemáticas KaTeX y bloques de código con resaltado de sintaxis. Tus fragmentos de $\sqrt{x^2 + y^2}$ y Python sobreviven perfectamente a cada conversión.

Manejo Inteligente de Binarios

Los formatos binarios (PDF, DOCX, XLSX, PNG) no vuelcan base64 sin procesar en el chat. El servidor devuelve orientación práctica para que la IA sepa que debe guardar en una ruta de archivo.

Análisis y Reparación de Documentos

Ejecuta lint en Markdown, repara automáticamente el formato dañado, extrae bloques de código y enlaces, genera una Tabla de Contenidos y obtén estadísticas completas del documento, todo sin salir del chat.

GFM (GitHub Flavored Markdown)

Tablas, listas de tareas, tachado, enlaces automáticos: todo se analiza correctamente mediante remark-gfm.

PDF y PNG Impulsados por Puppeteer

Las exportaciones de PDF e imágenes usan Chromium sin interfaz gráfica para un renderizado perfecto en píxeles con estilo CSS completo, matemáticas KaTeX, resaltado de sintaxis y diseños optimizados para impresión.

Autocontenido

Cero dependencias de tiempo de ejecución en APIs externas. Todo se ejecuta localmente. Tus datos nunca salen de tu computadora.


Arquitectura

┌─────────────────────────┐
│  AI Client               │
│  (Claude, Copilot,      │
│   Cursor, Windsurf)     │
└──────────┬──────────────┘
           │ MCP Protocol (stdio / HTTP)
           ▼
┌─────────────────────────┐
│  AI Answer Copier        │
│  MCP Server (34 tools)   │
│                          │
│  ┌── Conversion ────────┐│
│  │ remark/rehype, docx, ││
│  │ puppeteer, xlsx,     ││
│  │ CSV/JSON/XML/RTF/    ││
│  │ LaTeX/TXT parsers    ││
│  └──────────────────────┘│
│  ┌── Platform ──────────┐│
│  │ Slack, Discord, JIRA,││
│  │ Confluence, AsciiDoc,││
│  │ RST, MediaWiki,      ││
│  │ BBCode, Textile, Org ││
│  └──────────────────────┘│
│  ┌── Batch ─────────────┐│
│  │ items[] × formats[]  ││
│  │ 22 formats, isolated ││
│  └──────────────────────┘│
│  ┌── Analysis ──────────┐│
│  │ Code blocks, links,  ││
│  │ TOC, stats, structure││
│  └──────────────────────┘│
│  ┌── Repair ────────────┐│
│  │ Lint, auto-repair    ││
│  └──────────────────────┘│
│  ┌── Import ────────────┐│
│  │ HTML → Markdown      ││
│  └──────────────────────┘│
└─────────────────────────┘

Novedades en v2.1.0

Esta versión refuerza tanto el transporte MCP local (npx) como el remoto de Vercel con 8 correcciones de lógica:

#CorrecciónÁrea
1Navegador no cerrado en error — try/finally alrededor de browser.close() para que Chromium nunca tenga fugas en fallos de PDF/PNGAmbos transportes
2generate_html sin CSS de KaTeX — se restauró la metaetiqueta viewport, la hoja de estilos de KaTeX (hash SRI) y los estilos en línea completos para que las matemáticas se rendericen correctamenteVercel /api/mcp
3convert_to_html estilos incompletos — se añadió el hash de integridad SRI, bordes de tabla y estilo de citas en bloque para coincidir con la salida localVercel /api/mcp
4Fuga de memoria en el mapa de sesiones — instances Map ahora expulsa sesiones obsoletas después de 30 minutos (SESSION_TTL_MS); McpInstance rastrea lastUsedVercel /api/mcp
5keepAlive intervalo no limpiado al final normal del flujo SSE — se añadió un try/finally interno que siempre llama a clearInterval(keepAlive)Vercel /api/mcp
6_initialized acceso interno del SDK — se reemplazó @ts-ignore desnudo por una protección typeof para que el servidor falle correctamente después de actualizaciones del SDKVercel /api/mcp
7Sin validación del tamaño de entrada — se añadió un límite estricto de 1 GB (MAX_INPUT_BYTES) a todas las llamadas de herramientas para evitar CPU/memoria descontroladas en cargas sobredimensionadasAmbos transportes
8El método DELETE crea una nueva sesión — el manejador ahora devuelve 200 inmediatamente en DELETE, evitando la creación de sesiones fantasmaVercel /api/mcp

Limitaciones conocidas

  • PDF / PNG requieren Chromium local — convert_to_pdf y convert_to_image lanzan un navegador sin interfaz gráfica. Esto funciona bien con npx pero no está disponible en el plan gratuito de Vercel (sin Chromium incluido). Establece la variable de entorno PUPPETEER_EXECUTABLE_PATH para apuntar a tu Chrome local si la detección automática falla.
  • Versión de Chromium en Vercel — el endpoint remoto usa @sparticuz/chromium-min con un tar fijado en v131.0.1. Si Vercel actualiza el runtime de Lambda, es posible que debas actualizar la variable de entorno CHROMIUM_TAR_URL.
  • Límite de entrada de 1 MB — todas las llamadas de herramientas rechazan entradas mayores de 1 MB. Divide documentos grandes en secciones antes de convertir.
  • TTL de sesión (solo remoto) — las sesiones en el endpoint de Vercel expiran después de 30 minutos de inactividad. Los flujos de trabajo con estado de larga duración deben emitir llamadas de mantenimiento periódicas.

Desarrollo

# Clone the repository
git clone https://github.com/XJTLUmedia/AI_answer_copier.git

# Web app
npm install
npm run dev

# MCP server
cd mcp-server
npm install
npm run dev     # hot reload
npm run build   # production build
npm run inspector  # test with MCP Inspector

Pila tecnológica

ComponenteTecnología
SDK de MCP@modelcontextprotocol/sdk
Analizador de Markdownunified + remark + rehype
Renderizado matemáticoremark-math + rehype-katex
Exportación a Worddocx
Exportación a Excelxlsx
Exportación a PDF/PNGpuppeteer
Validación de esquemaszod
RuntimeNode.js (ESM)

Contribuciones

¡Agradecemos las contribuciones! Ya sea un nuevo formato de exportación, una corrección de errores o una mejora de documentación — considera hacer una solicitud de extracción.

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Envía una solicitud de extracción

Licencia

MIT © XJTLUmedia


Creado por educadores, para educadores.
Recupera 5 horas de tu semana. Deja que la IA maneje el formato.