Markdown to any text

Converta markdown para qualquer formato de texto que desejar

Documentação

AI Answer Copier — Exportador Multi-Formato com MCP

Transforme "Ruído de IA" em "Material Pronto para a Sala de Aula" em 5 Segundos.

npm version License: MIT MCP Registry Glama GitHub

Um servidor Model Context Protocol (MCP) que dá ao seu assistente de IA o poder de converter Markdown em 22 formatos de documentos profissionais, converter em lote vários documentos em 22 formatos em uma única chamada, analisar documentos, reparar Markdown quebrado e converter entre plataformas — tudo sem sair do seu chat de IA.

image

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


Por Que Isso Existe

Você pediu para uma IA escrever 20 perguntas. Ela entregou. Mas agora você está travado:

Ponto de DorFluxo ManualCom AI Answer Copier
Extrair perguntas e respostas10–15 min copiando cada linha2 segundos (detecção automática)
Formatar matemática20 min corrigindo símbolos quebradosInstantâneo (suporte a KaTeX)
Upload no LMS15 min de entrada manual em CSVExportação com 1 clique
Tempo total de preparação~45–60 minutos< 1 minuto

Gerar conteúdo leva segundos. Formatá-lo para o mundo real leva uma hora. Este servidor MCP elimina essa lacuna completamente.


Demonstração ao Vivo

Versão web online (sem necessidade de instalação): ai-answer-copier.vercel.app

live_demo1 live_demo2

Teste a ferramenta MCP no inspetor:

MCP server

Use uma instância MCP real:

MCP1 MCP2

Todas as 34 Ferramentas MCP

Ferramentas de Conversão de Documentos (15)

#FerramentaSaídaDescrição
1harmonize_markdown.mdPadroniza e normaliza a sintaxe Markdown (cabeçalhos ATX, marcadores de lista -, blocos de código cercados) sem alterar o significado
2convert_to_txt.txtRemove toda a formatação para produzir texto simples
3convert_to_html.htmlDocumento HTML completo e estilizado com tabelas GFM, matemática KaTeX e folha de estilo incorporada
4generate_htmlstring HTMLGera HTML autocontido com todos os estilos embutidos (somente leitura, sem E/S de arquivo)
5convert_to_pdf.pdfPDF pronto para impressão via Chromium headless com matemática KaTeX completa e realce de sintaxe
6convert_to_docx.docxDocumento Microsoft Word com cabeçalhos, listas e formatação de código estilizados
7convert_to_latex.texCódigo-fonte LaTeX com \section, ambientes de lista e passagem nativa de matemática
8convert_to_rtf.rtfRich Text Format para processadores de texto legados e clientes de e-mail
9convert_to_csv.csvExtrai tabelas de pipe GFM para valores separados por vírgula
10convert_to_json.jsonRepresentação JSON estruturada com seções, cabeçalhos, listas, blocos de código e tabelas
11convert_to_xml.xmlXML bem formado com declaração <?xml?> e elementos estruturados
12convert_to_xlsx.xlsxPlanilha Excel — cada tabela Markdown vira uma aba
13convert_to_image.pngCaptura de tela PNG em página inteira via Chromium headless
14convert_to_md.mdExporta Markdown para arquivo, opcionalmente harmonizando a formatação primeiro (harmonize=true)
15convert_to_email_html.htmlHTML otimizado para e-mail com todos os estilos embutidos, compatível com Outlook, Gmail, Apple Mail

Ferramentas de Conversão de Plataforma (10)

#FerramentaPlataforma AlvoDescrição
16convert_to_slackSlackFormato mrkdwn — negrito como *, links como <url|text>, cabeçalhos como texto em negrito
17convert_to_discordDiscordCabeçalhos estilizados em negrito/sublinhado, blocos de código preservados
18convert_to_jiraJIRAMarcação Wiki — h1./h2., blocos {code}, links [text|url]
19convert_to_confluenceConfluenceMarcação Wiki com {info}, painéis {note} e sintaxe {code:language=x}
20convert_to_asciidocAsciiDocCabeçalhos =, blocos de código ----, links url[text], diretivas image::
21convert_to_rstreStructuredTextCabeçalhos sublinhados, diretivas .. code-block::, sintaxe de referência RST
22convert_to_mediawikiMediaWikiCabeçalhos ==, '''bold''', tags <syntaxhighlight>, {\ wikitable
23convert_to_bbcodeBBCodeTags [b], [i], [code], [url], [img] para fóruns phpBB/vBulletin
24convert_to_textileTextileMarcação para Redmine, Basecamp e plataformas CMS
25convert_to_orgmodeEmacs Org ModeCabeçalhos *, código #+BEGIN_SRC/#+END_SRC, links [[url][text]]

Ferramentas de Importação (1)

#FerramentaDescrição
26html_to_markdownConverte conteúdo HTML (documento completo ou fragmento) de volta para Markdown

Ferramentas de Reparo e Lint (2)

#FerramentaDescrição
27repair_markdownCorrige Markdown quebrado de saída de LLM ou copiar-colar — cercas de código não fechadas, tabelas quebradas, marcadores de ênfase soltos, espaços ausentes em cabeçalhos, links quebrados
28lint_markdownExecuta lint e relata problemas como array JSON com número da linha, gravidade, nome da regra, mensagem e sinalizador de correção

Ferramentas de Análise de Documentos (5)

#FerramentaDescrição
29extract_code_blocksExtrai todos os blocos de código com linguagem, conteúdo e números de linha inicial/final
30extract_linksExtrai todos os links e imagens com texto, URL, número da linha e tipo (inline, referência, imagem, autolink)
31generate_tocGera Sumário Markdown a partir dos cabeçalhos com max_depth configurável (1–6)
32analyze_documentEstatísticas abrangentes — contagens de linhas/palavras/caracteres/parágrafos/frases, contagens de cabeçalhos/código/tabelas/links/imagens, tempo estimado de leitura
33extract_structureArquitetura do documento em visão panorâmica — estatísticas, esboço de cabeçalhos, resumo de blocos de código, resumo de links

Conversão em Lote (1)

#FerramentaEntradaDescrição
34batch_convertitems[] × formats[]Converte em lote vários documentos Markdown para 22 formatos em uma única chamada. Erros isolados por item+formato. output_dir opcional para saída em arquivo. 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

Modelos de prompt pré-configurados que orquestram múltiplas ferramentas:

PromptDescrição
convert-documentConverte Markdown para qualquer formato suportado (PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG, TXT, MD)
extract-tablesExtrai todas as tabelas do Markdown e exporta como CSV ou XLSX
format-for-sharingHarmoniza a formatação e depois converte para PDF e HTML para distribuição
analyze-and-repairLint → Reparo → Novo lint para confirmar que todos os problemas foram resolvidos
convert-for-platformConverte Markdown para qualquer formato de plataforma (Slack, Discord, JIRA, Confluence, AsciiDoc, RST, MediaWiki, BBCode, Textile, Org Mode)
document-overviewVisão geral completa — estatísticas, sumário, blocos de código e links em um único relatório

2 Recursos

URI do RecursoDescrição
markdown-formatter://supported-formatsLista JSON completa de todos os 23+ formatos de saída com nomes e tipos de ferramentas
markdown-formatter://conversion-guideGuia para escolher o formato de saída certo com base no seu caso de uso

Início Rápido

Instalar via npx (Recomendado)

Nenhuma instalação necessária — basta configurar seu cliente MCP:

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

Instalar Globalmente

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

Depois configure:

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

Configuração por Cliente de IA

🔌 Claude Desktop

image

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

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

Reinicie o Claude Desktop. Você verá um ícone 🔌 — todas as 34 ferramentas estarão disponíveis.

VS Code (GitHub Copilot)

Adicione a .vscode/mcp.json ou às configurações do VS Code:

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

Cursor / Windsurf / Qualquer Cliente MCP

Use o mesmo padrão de comando npx acima na configuração MCP do seu cliente.

Versão DIY (build local)

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

Substitua YOUR_PATH_TO_PROJECT pelo caminho absoluto para esta pasta.

Modo HTTP (Vercel)

Um endpoint HTTP hospedado está disponível para integrações baseadas em navegador e remotas:

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

Teste com o MCP Inspector:

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

Exemplos de Uso

Depois de conectado, basta conversar naturalmente com sua IA:

"Converta em lote 5 documentos markdown para DOCX, PDF e HTML simultaneamente e salve-os na minha pasta Downloads." → A IA usa batch_convert com items[] e formats[]

"Gere 10 perguntas de física sobre as Leis de Newton e exporte-as como um CSV do Kahoot." → A IA usa convert_to_csv

"Converta este markdown em um documento Word e salve-o na minha Área de Trabalho." → A IA chama convert_to_docx com output_path

"Pegue estas notas de aula e produza um PDF pronto para impressão." → A IA chama convert_to_pdf com renderização Puppeteer, matemática KaTeX e realce de sintaxe

"Transforme isso em um banco de questões XML compatível com Moodle." → A IA chama convert_to_xml

"Formate isso para o Slack e envie para o canal da equipe." → A IA chama convert_to_slack

"Verifique este Markdown em busca de problemas e corrija-os." → A IA chama lint_markdown e depois repair_markdown

"Me dê uma visão geral deste documento — contagem de palavras, estrutura, todos os links." → A IA encadeia analyze_document + generate_toc + extract_links


Recursos

22 Formatos de Saída

Exporte para PDF, DOCX, HTML, LaTeX, CSV, JSON, XML, XLSX, RTF, PNG, TXT, Markdown — além de Slack, Discord, JIRA, Confluence, AsciiDoc, RST, MediaWiki, BBCode, Textile, Org Mode e HTML para e-mail.

Conversão em Lote

Converta vários documentos Markdown para vários formatos em uma única chamada batch_convert. Erros são isolados por item+formato, então uma falha nunca bloqueia o restante.

Matemática e Código como Cidadãos de Primeira Classe

Suporte completo para expressões matemáticas KaTeX e blocos de código com realce de sintaxe. Seus trechos $\sqrt{x^2 + y^2}$ e Python sobrevivem perfeitamente a cada conversão.

Manipulação Inteligente de Binários

Formatos binários (PDF, DOCX, XLSX, PNG) não despejam base64 bruto no chat. O servidor retorna orientações acionáveis para que a IA saiba salvar em um caminho de arquivo.

Análise e Reparo de Documentos

Execute lint em Markdown, repare automaticamente formatação quebrada, extraia blocos de código e links, gere Sumário e obtenha estatísticas abrangentes do documento — tudo sem sair do chat.

GFM (GitHub Flavored Markdown)

Tabelas, listas de tarefas, tachado, autolinks — tudo analisado corretamente via remark-gfm.

PDF e PNG com Puppeteer

Exportações de PDF e imagem usam Chromium headless para renderização perfeita em pixels, com estilos CSS completos, matemática KaTeX, realce de sintaxe e layouts otimizados para impressão.

Autocontido

Zero dependências de runtime em APIs externas. Tudo roda localmente. Seus dados nunca saem do seu computador.


Arquitetura

┌─────────────────────────┐
│  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      ││
│  └──────────────────────┘│
└─────────────────────────┘

O Que Há de Novo na v2.1.0

Esta versão reforça tanto o transporte MCP local (npx) quanto o remoto Vercel com 8 correções de lógica:

#CorreçãoÁrea
1Navegador não fechado em erro — try/finally em torno de browser.close() para que o Chromium nunca vaze em falhas de PDF/PNGAmbos os transportes
2generate_html faltando CSS do KaTeX — restaurado viewport meta, folha de estilo KaTeX (hash SRI) e estilos inline completos para que a matemática seja renderizada corretamenteVercel /api/mcp
3convert_to_html estilos incompletos — adicionado hash de integridade SRI, bordas de tabela e estilo de blockquote para corresponder à saída localVercel /api/mcp
4Vazamento de memória no mapa de sessões — instances Map agora remove sessões obsoletas após 30 minutos (SESSION_TTL_MS); McpInstance rastreia lastUsedVercel /api/mcp
5keepAlive intervalo não limpo no fim normal do stream SSE — adicionado try/finally interno que sempre chama clearInterval(keepAlive)Vercel /api/mcp
6_initialized acesso interno do SDK — substituído @ts-ignore puro por uma proteção typeof para que o servidor falhe graciosamente após atualizações do SDKVercel /api/mcp
7Sem validação de tamanho de entrada — adicionado limite rígido de 1 GB (MAX_INPUT_BYTES) a todas as chamadas de ferramenta para evitar CPU/memória descontrolados em cargas superdimensionadasAmbos os transportes
8Método DELETE cria nova sessão — o handler agora retorna 200 imediatamente em DELETE, prevenindo criação de sessão fantasmaVercel /api/mcp

Limitações Conhecidas

  • PDF / PNG exigem Chromium local — convert_to_pdf e convert_to_image iniciam um navegador headless. Isso funciona bem com npx, mas não está disponível no plano gratuito da Vercel (sem Chromium empacotado). Defina a variável de ambiente PUPPETEER_EXECUTABLE_PATH para apontar para o seu Chrome local se a detecção automática falhar.
  • Versão do Chromium na Vercel — o endpoint remoto usa @sparticuz/chromium-min com um tar fixado em v131.0.1. Se a Vercel alterar o runtime Lambda, talvez seja necessário atualizar a variável de ambiente CHROMIUM_TAR_URL.
  • Limite de entrada de 1 MB — todas as chamadas de ferramenta rejeitam entradas maiores que 1 MB. Divida documentos grandes em seções antes de converter.
  • TTL de sessão (somente remoto) — sessões no endpoint da Vercel expiram após 30 minutos de inatividade. Fluxos de trabalho com estado de longa duração devem emitir chamadas keep-alive periódicas.

Desenvolvimento

# 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

Pilha Tecnológica

ComponenteTecnologia
SDK MCP@modelcontextprotocol/sdk
Parser de Markdownunified + remark + rehype
Renderização Matemáticaremark-math + rehype-katex
Exportação Worddocx
Exportação Excelxlsx
Exportação PDF/PNGpuppeteer
Validação de Esquemazod
RuntimeNode.js (ESM)

Contribuindo

Aceitamos contribuições! Seja um novo formato de exportação, uma correção de bug ou melhoria de documentação — considere fazer um pull request.

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Envie um pull request

Licença

MIT © XJTLUmedia


Feito por educadores, para educadores.
Recupere 5 horas da sua semana. Deixe a IA cuidar da formatação.