mcpField
T
Typst MCP Server

Typst MCP Server

ローカル
github.com/johannesbrandenburger生産性18628 週間前に更新

Typst MCP Server について

Typst MCP Server は、マークアップ方式の組版システム Typst を AI モデルから扱えるようにする MCP サーバーです。LaTeX と Typst の相互変換、Typst 構文の検証、Typst コードからの画像生成をツールとして提供します。

主な機能

  1. 01Typst ドキュメントの章を参照
  2. 02LaTeX スニペットの Typst への変換
  3. 03Typst 構文の検証
  4. 04複数スニペットの一括処理
  5. 05Typst コードの PNG 画像への変換

活用シーン

  1. 01LLM が Typst コードを書く前に公式ドキュメントを参照する
  2. 02LaTeX の数式や文章を Typst へ移行する
  3. 03ユーザーに渡す前に Typst コードの妥当性を確認する
  4. 04マルチモーダルモデルで複雑な Typst 図の描画結果を確認する

MCP 対応

本プロジェクトは MCP サーバーであり、ドキュメント参照、形式変換、構文検証、画像生成の機能をツールとして MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Typst MCP サーバー

Typst MCP サーバーは、AI モデルがマークアップベースの組版システムである Typst を操作できるようにする MCP(Model Context Protocol) の実装です。このサーバーは、LaTeX と Typst の相互変換、Typst 構文の検証、Typst コードからの画像生成を行うツールを提供します。

利用可能なツール

⚠️ 現在、Cursor と VS Code はまだほかのプリミティブを処理できないため、すべての機能が tools として実装されています。

サーバーは次のツールを提供します。

  1. list_docs_chapters():Typst ドキュメントの全章を一覧表示します。

    • LLM がドキュメントの概要を把握し、読む章を選べるようにします。
    • LLM は、現在のタスクに応じて読むべき関連章を選択します。
  2. get_docs_chapter(route):Typst ドキュメントの特定の章を取得します。

    • LLM が選択した章の内容をこのツールで取得します。
    • 複数の章を一度に取得する場合は、get_docs_chapters(routes: list) も利用できます。
  3. latex_snippet_to_typst(latex_snippet):Pandoc を使用して LaTeX コードを Typst に変換します。

    • LLM は Typst よりも LaTeX の記述に優れているため、このツールを使って LaTeX コードを Typst に変換できます。
    • 複数の LaTeX スニペットを一度に変換する場合は、latex_snippets_to_typst(latex_snippets: list) も利用できます。
  4. check_if_snippet_is_valid_typst_syntax(typst_snippet):Typst コードを検証します。

    • Typst コードをユーザーに送る前に、LLM はコードが有効かどうかを確認します。
    • 複数の Typst スニペットを一度に検証する場合は、check_if_snippets_are_valid_typst_syntax(typst_snippets: list) も利用できます。
  5. typst_to_image(typst_snippet):Typst コードを PNG 画像にレンダリングします。

    • 複雑な Typst の図をユーザーに送る前に、LLM はコードを画像にレンダリングし、正しく表示されているか確認します。
    • マルチモーダルモデルにのみ関連します。

はじめに

  • このリポジトリをクローンします

    • git clone https://github.com/johannesbrandenburger/typst-mcp.git
  • typst リポジトリをクローンします

    • git clone https://github.com/typst/typst.git
  • typst リポジトリでドキュメント生成を実行します

    • cargo run --package typst-docs -- --assets-dir ../typst-mcp/typst-docs --out-file ../typst-mcp/typst-docs/main.json
      • typst-mcp リポジトリのローカルクローンへのパスに合わせて調整してください
      • typst-docs フォルダーに main.json とアセットが生成されます
  • 必要な依存関係をインストールします:uv sync(まだインストールされていない場合は、uvをインストールしてください)

  • Typst をインストールします

サーバーの実行

ローカルインストール

サーバースクリプトを実行します:

python server.py

または、MCP を使用して Claude Desktop にインストールします:

mcp install server.py

または、VS Code の新しいエージェントモードを使用します:

エージェントモード:すべてのユーザーが利用でき、MCP をサポート

Docker

Docker のインストールと使用方法については、詳しいビルド情報と手順が記載された DOCKER.md を参照してください。

プラットフォームの設定

この MCP サーバーは、さまざまな AI コーディングプラットフォームに統合できます。以下に、一般的なプラットフォームの設定手順を示します。

Claude Desktop

Claude Desktop の設定ファイル(claude_desktop_config.json)に以下を追加します:

macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

または、ローカルにインストールする場合:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}
Cursor

プロジェクト固有の設定を行うには、プロジェクトのルートに .cursor/mcp.json を作成します:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

または、グローバル設定の場合は ~/.cursor/mcp.json を作成します。ローカルにインストールする場合:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}
Roo Code

プロジェクト固有の設定を行うには、プロジェクトのルートに .roo/mcp.json を作成します:

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

または、Roo Code の MCP 設定画面からグローバル設定を編集します。ローカルにインストールする場合:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}
OpenCode

プロジェクトのルートにある opencode.json ファイルを作成または編集します。

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "typst": {
      "type": "local",
      "command": ["docker", "run", "--rm", "-i", 
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ],
      "enabled": true
    }
  }
}

ローカルにインストールする場合:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "typst": {
      "type": "local",
      "command": ["python", "/path/to/typst-mcp/server.py"],
      "enabled": true
    }
  }
}
Claude Code

Claude Code の設定ファイル(~/.claude/settings.json)で MCP サーバーを設定します。

{
  "mcpServers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

または、ローカルにインストールする場合:

{
  "mcpServers": {
    "typst": {
      "command": "python",
      "args": ["/path/to/typst-mcp/server.py"]
    }
  }
}
Agent Mode を使用する VS Code

VS Code の Agent Mode は MCP をネイティブでサポートしています(拡張機能は不要です)。

  1. VS Code の設定(chat.agent.enabled)で Agent Mode を有効にします。
  2. ワークスペースに .vscode/mcp.json を作成します。
{
  "servers": {
    "typst": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "ghcr.io/johannesbrandenburger/typst-mcp:latest"
      ]
    }
  }
}

グローバル設定を行うには、MCP: Open User Configuration コマンドを使用してユーザープロファイルに追加します。

Typst ドキュメントの JSON Schema

⚠️ Typst ドキュメントのスキーマは安定しておらず、いつでも変更される可能性があります。このスキーマは Typst のソースコードから生成されており、完全または正確であることは保証されません。スキーマが変更された場合、ドキュメント機能が再び動作するよう、このリポジトリを更新する必要があります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。