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: ドキュメント変換MCPサーバー

モデルコンテキストプロトコルサーバーのオープンソースプロジェクトに正式に含まれます。🎉

概要

pandocを用いたドキュメント形式変換のためのモデルコンテキストプロトコルサーバー。このサーバーは、書式と構造を維持しながら、異なるドキュメント形式間でコンテンツを変換するためのツールを提供します。

mcp-pandoc は現在開発初期段階にありますのでご注意ください。PDF サポートは現在開発中であり、機能と利用可能なツールは、サーバーの継続的な改善に伴い変更および拡張される可能性があります。

クレジット: このプロジェクトでは、ドキュメント変換にPandoc Python パッケージを使用しており、これがこのプロジェクトの基盤となっています。

デモ

🎥 YouTubeで見る

今後もさらに続きます...

ツール

  1. convert-contents
    • サポートされている形式間でコンテンツを変換します
    • 入力:
      • contents (文字列): 変換するソースコンテンツ (input_file が指定されていない場合は必須)
      • input_file (文字列): 入力ファイルへの完全なパス (内容が指定されていない場合は必須)
      • input_format (文字列): コンテンツのソース形式 (デフォルトはマークダウン)
      • output_format (文字列): ターゲット形式 (デフォルトは markdown)
      • output_file (文字列): 出力ファイルの完全なパス (pdf、docx、rst、latex、epub 形式では必須)
    • サポートされている入力/出力形式:
      • マークダウン
      • html
      • pdf
      • docx
      • 最初
      • ラテックス
      • EPUB
      • TXT
    • 注: 高度な形式 (pdf、docx、rst、latex、epub) の場合、output_file パスが必要です。

サポートされている形式

現在サポートされている形式:

基本形式(直接変換):

  • プレーンテキスト(.txt)
  • マークダウン (.md)
  • HTML (.html)

高度な形式 (完全なファイル パスが必要です):

  • PDF (.pdf) - TeX Live のインストールが必要です
  • DOCX (.docx)
  • RST (.rst)
  • LaTeX (.tex)
  • EPUB(.epub)

注: 高度な形式の場合:

  1. ファイル名と拡張子を含む完全なファイルパスが必要です
  2. PDF 変換には TeX Live のインストールが必要です(「重要な要件」セクションを参照 -> macOS の場合: brew install texlive )
  3. 出力パスが指定されていない場合:
    • 基本形式: 変換されたコンテンツをチャットに表示します
    • 高度なフォーマット: システムの一時ディレクトリ (Unix システムでは /tmp/) に保存できます

使用方法と設定

公開されたものを使用するには

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

⚠️ 重要事項

重要な要件

  1. PDF変換の前提条件
    • PDF変換を行う前にTeX Liveをインストールする必要があります
    • インストールコマンド:
      # 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. ファイルパスの要件
    • ファイルを保存または変換するときは、ファイル名と拡張子を含む完全なファイルパスを指定する必要があります。
    • このツールはファイル名や拡張子を自動的に生成しません

✅ 正しい使い方:

# 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"

❌ 誤った使用法:

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

よくある問題と解決策

  1. PDF変換に失敗する
    • エラー: 「xelatex が見つかりません」
    • 解決策: まずTeX Liveをインストールします(上記のインストールコマンドを参照)
  2. ファイル変換に失敗する
    • エラー:「無効なファイルパス」
    • 解決策: ファイル名と拡張子を含む完全なパスを指定します
    • 例: /path/to/document.pdfではなく/path/to/
  3. フォーマット変換に失敗する
    • エラー:「サポートされていない形式です」
    • 解決策: サポートされている形式のみを使用します。
      • 基本: txt、html、マークダウン
      • 上級: pdf、docx、rst、latex、epub

クイックスタート

インストール

オプション 1: claude_desktop_config.json 構成ファイルを使用して手動でインストールする

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

ℹ️ ローカルにクローンしたプロジェクトパスに置き換えます

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

オプション2: Smithery経由で公開サーバー構成を自動的にインストールする

次の bash コマンドを実行して、 Smithery経由で Claude Desktop 用に公開されたmcp-pandoc pypi を自動的にインストールします。

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

: ローカルに構成された mcp-pandoc を使用するには、上記の「開発/非公開サーバー構成」の手順に従ってください。

発達

建築と出版

配布用のパッケージを準備するには:

  1. 依存関係を同期し、ロックファイルを更新します。
uv sync
  1. パッケージディストリビューションをビルドします。
uv build

これにより、 dist/ディレクトリにソースとホイールのディストリビューションが作成されます。

  1. PyPI に公開:
uv publish

注: 環境変数またはコマンド フラグを使用して PyPI 資格情報を設定する必要があります。

  • トークン: --tokenまたはUV_PUBLISH_TOKEN
  • またはユーザー名/パスワード: --username / UV_PUBLISH_USERNAMEおよび--password / UV_PUBLISH_PASSWORD

デバッグ

MCPサーバーはstdio経由で実行されるため、デバッグが困難になる場合があります。最適なデバッグ環境を実現するには、 MCP Inspectorの使用を強くお勧めします。

次のコマンドを使用して、 npm経由で MCP Inspector を起動できます。

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

起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。


貢献

mcp-pandoc の機能強化への貢献を歓迎します。参加方法は以下の通りです。

  1. 問題を報告: バグを見つけた場合や機能のリクエストがある場合は、 GitHub の問題ページで問題を開いてください。
  2. プル リクエストの送信: プル リクエストを作成して、コードベースを改善したり、機能を追加したりします。

You must be authenticated.

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

Pandoc を使用してシームレスなドキュメント形式変換を行う MCP サーバー。Markdown、HTML、PDF、DOCX (.docx)、csv などをサポートします。

  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