mcp-pandoc

MIT License
104
  • Apple

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Integrates with GitHub for issue tracking and contributions, with references to the GitHub Issues page for bug reports and feature requests.

  • Enables conversion of content to and from LaTeX format, preserving formatting and structure when transforming documents.

  • Provides specific installation and configuration instructions for macOS users, including TeX Live installation via Homebrew.

mcp-pandoc: un servidor MCP de conversión de documentos

Incluido oficialmente en el proyecto de código abierto de servidores de Protocolo de Contexto de Modelo . 🎉

Descripción general

Un servidor de Protocolo de Contexto de Modelo para la conversión de formatos de documentos mediante pandoc . Este servidor proporciona herramientas para transformar contenido entre diferentes formatos de documentos, conservando el formato y la estructura.

Tenga en cuenta que mcp-pandoc se encuentra actualmente en desarrollo inicial. La compatibilidad con PDF también está en desarrollo, y la funcionalidad y las herramientas disponibles están sujetas a cambios y ampliaciones a medida que mejoramos el servidor.

Crédito: Este proyecto utiliza el paquete Python Pandoc para la conversión de documentos, lo que constituye la base de este proyecto.

Manifestación

🎥 Míralo en YouTube

Más por venir...

Herramientas

  1. convert-contents
    • Transforma el contenido entre formatos compatibles
    • Entradas:
      • contents (cadena): contenido de origen a convertir (obligatorio si no se proporciona input_file)
      • input_file (cadena): ruta completa al archivo de entrada (obligatorio si no se proporciona el contenido)
      • input_format (cadena): formato de origen del contenido (predeterminado en Markdown)
      • output_format (cadena): formato de destino (predeterminado en Markdown)
      • output_file (cadena): ruta completa para el archivo de salida (obligatorio para los formatos pdf, docx, rst, latex, epub)
    • Formatos de entrada/salida admitidos:
      • reducción
      • html
      • pdf
      • docx
      • primero
      • látex
      • libro electrónico
      • TXT
    • Nota: Para formatos avanzados (pdf, docx, rst, latex, epub), se requiere una ruta de archivo de salida

Formatos compatibles

Formatos admitidos actualmente:

Formatos básicos (conversión directa):

  • Texto sin formato (.txt)
  • Markdown (.md)
  • HTML (.html)

Formatos avanzados (requiere rutas de archivo completas):

  • PDF (.pdf) - requiere instalación de TeX Live
  • DOCX (.docx)
  • RST (.rst)
  • LaTeX (.tex)
  • EPUB (.epub)

Nota: Para formatos avanzados:

  1. Se requieren rutas de archivo completas con nombre de archivo y extensión
  2. La conversión de PDF requiere la instalación de TeX Live (consulte la sección Requisitos críticos -> Para macOS: brew install texlive )
  3. Cuando no se especifica ninguna ruta de salida:
    • Formatos básicos: Muestra el contenido convertido en el chat.
    • Formatos avanzados: Se puede guardar en el directorio temporal del sistema (/tmp/ en sistemas Unix)

Uso y configuración

Para utilizar el publicado

{ "mcpServers": { "mcp-pandoc": { "command": "uvx", "args": ["mcp-pandoc"] } } }

⚠️ Notas importantes

Requisitos críticos

  1. Requisitos previos para la conversión de PDF
    • TeX Live debe estar instalado antes de intentar la conversión a PDF
    • Comandos de instalación:
      # Ubuntu/Debian sudo apt-get install texlive-xetex # macOS brew install texlive # Windows # Install MiKTeX or TeX Live from: # https://miktex.org/ or https://tug.org/texlive/
  2. Requisitos de ruta de archivo
    • Al guardar o convertir archivos, DEBE proporcionar las rutas de archivo completas, incluido el nombre del archivo y la extensión.
    • La herramienta no genera automáticamente nombres de archivos ni extensiones.

Ejemplos

✅ Uso correcto:

# Converting content to PDF "Convert this text to PDF and save as /path/to/document.pdf" # Converting between file formats "Convert /path/to/input.md to PDF and save as /path/to/output.pdf"

❌ Uso incorrecto:

# Missing filename and extension "Save this as PDF in /documents/" # Missing complete path "Convert this to PDF" # Missing extension "Save as /documents/story"

Problemas comunes y soluciones

  1. La conversión de PDF falla
    • Error: "xelatex no encontrado"
    • Solución: Instale primero TeX Live (consulte los comandos de instalación anteriores)
  2. La conversión de archivos falla
    • Error: "Ruta de archivo no válida"
    • Solución: proporcione la ruta completa, incluido el nombre del archivo y la extensión
    • Ejemplo: /path/to/document.pdf en lugar de simplemente /path/to/
  3. La conversión de formato falla
    • Error: "Formato no compatible"
    • Solución: utilice únicamente formatos compatibles:
      • Básico: txt, html, markdown
      • Avanzado: pdf, docx, rst, latex, epub

Inicio rápido

Instalar

Opción 1: Instalación manual mediante el archivo de configuración claude_desktop_config.json

  • En MacOS: open ~/Library/Application\ Support/Claude/claude_desktop_config.json
  • En Windows: %APPDATA%/Claude/claude_desktop_config.json

ℹ️ Reemplace con la ruta de su proyecto clonado localmente

"mcpServers": { "mcp-pandoc": { "command": "uv", "args": [ "--directory", "<DIRECTORY>/mcp-pandoc", "run", "mcp-pandoc" ] } }
"mcpServers": { "mcp-pandoc": { "command": "uvx", "args": [ "mcp-pandoc" ] } }

Opción 2: Instalar automáticamente la configuración de servidores publicados a través de Smithery

Ejecute el siguiente comando bash para instalar automáticamente mcp-pandoc pypi publicado para Claude Desktop a través de Smithery :

npx -y @smithery/cli install mcp-pandoc --client claude

Nota : Para utilizar mcp-pandoc configurado localmente, siga el paso "Configuración de servidores no publicados/desarrollo" anterior.

Desarrollo

Construcción y publicación

Para preparar el paquete para su distribución:

  1. Sincronizar dependencias y actualizar archivo de bloqueo:
uv sync
  1. Distribuciones de paquetes de compilación:
uv build

Esto creará distribuciones de origen y de rueda en el directorio dist/ .

  1. Publicar en PyPI:
uv publish

Nota: Deberás configurar las credenciales de PyPI a través de variables de entorno o indicadores de comando:

  • Token: --token o UV_PUBLISH_TOKEN
  • O nombre de usuario/contraseña: --username / UV_PUBLISH_USERNAME y --password / UV_PUBLISH_PASSWORD

Depuración

Dado que los servidores MCP se ejecutan en stdio, la depuración puede ser complicada. Para una experiencia óptima, recomendamos usar el Inspector MCP .

Puede iniciar el Inspector MCP a través de npm con este comando:

npx @modelcontextprotocol/inspector uv --directory /Users/vivekvells/Desktop/code/ai/mcp-pandoc run mcp-pandoc

Al iniciarse, el Inspector mostrará una URL a la que podrá acceder en su navegador para comenzar a depurar.


Contribuyendo

Agradecemos sus contribuciones para mejorar mcp-pandoc. Así es como puede participar:

  1. Reportar problemas : ¿Encontraste un error o tienes alguna solicitud de funcionalidad? Abre un problema en nuestra página de problemas de GitHub .
  2. Enviar solicitudes de extracción : mejore la base de código o agregue funciones mediante la creación de una solicitud de extracción.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Servidor MCP para la conversión perfecta de formatos de documentos mediante Pandoc, compatible con Markdown, HTML, PDF, DOCX (.docx), csv y más.

  1. Overview
    1. Demo
      1. Tools
        1. Supported Formats
      2. Usage & configuration
        1. ⚠️ Important Notes
      3. Quickstart
        1. Install
      4. Development
        1. Building and Publishing
        2. Debugging
      5. Contributing
        ID: xyzzgaj9bk