MCP LaTeX Server
MCP LaTeX サーバー
LaTeX ファイルの作成、編集、検証、およびコンパイルを行うための Model Context Protocol (MCP) サーバーです。FastMCP と Pydantic を使用して構築されており、型安全で構造化された出力を提供します。
機能
作成: パラメータまたはバンドルされたテンプレート(article、beamer、report)から LaTeX ドキュメントを作成
編集: 置換、挿入、追記、先頭への追加操作によるファイル編集
読み込みおよび一覧表示: セキュアなベースディレクトリ内の
.texファイルを操作検証: 構文(括弧、環境、参照、必須宣言)の検証
コンパイル:
pdflatex、xelatex、またはlualatexを使用した PDF へのコンパイルリソース:
latex://URI を介したバンドル済みテンプレートの閲覧と取得
前提条件
Python 3.11.9 以上
LaTeX ディストリビューション(コンパイル用):
インストール
uv を使用する場合(推奨)
git clone https://github.com/RobertoDure/mcp-latex-server
cd mcp-latex-server
uv pip install -e .pip を使用する場合
git clone <repository-url>
cd mcp-latex-server
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
pip install -e .クイックセットアップ(Windows)
python quick_setup.pyこれにより、Python バージョンの確認、依存関係のインストール、サーバーのインポート確認、およびオプションで Claude Desktop の設定が行われます。
設定
サーバーは単一の環境変数を使用します:
変数 | 説明 | デフォルト |
| すべてのファイル操作のルートディレクトリ |
|
ツールに渡されるすべてのファイルパスは、このベースディレクトリからの相対パスとして解決されます。これより外側へのアクセスは拒否されます。
MCP クライアントの設定
Claude Desktop
claude_desktop_config.json に以下を追加します:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"latex-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-latex-server",
"run",
"latex_server.py"
],
"env": {
"LATEX_SERVER_BASE_PATH": "/path/to/your/latex/files"
}
}
}
}VS Code (GitHub Copilot)
ワークスペースの .vscode/mcp.json に以下を追加します:
{
"servers": {
"latex-server": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-latex-server",
"run",
"latex_server.py"
],
"env": {
"LATEX_SERVER_BASE_PATH": "${workspaceFolder}"
}
}
}
}ツール
create_latex_file
パラメータから新しい LaTeX ドキュメントを作成します。
パラメータ | 型 | デフォルト | 説明 | |||||
|
| 必須 | 新しい | |||||
| `article | report | book | letter | beamer | minimal` |
| ドキュメントクラス |
|
|
| ドキュメントタイトル | |||||
|
|
| ドキュメントの著者 | |||||
|
|
| ドキュメントの日付 | |||||
|
|
| 本文の内容 | |||||
|
|
| 追加の LaTeX パッケージ | |||||
|
|
| 余白設定 (例: |
create_from_template
バンドルされたテンプレートからドキュメントを作成します。
パラメータ | 型 | デフォルト | 説明 | ||
|
| 必須 | 新しい | ||
| `article | beamer | report` |
| テンプレート名 |
edit_latex_file
既存の LaTeX ファイルを編集します。
パラメータ | 型 | デフォルト | 説明 | ||||
|
| 必須 | ファイルへのパス | ||||
| `replace | insert_before | insert_after | append | prepend` | 必須 | 編集操作 |
|
| 必須 | 挿入または置換するテキスト | ||||
| `str | null` |
| 検索するテキスト (置換/挿入に必須) | |||
| `int | null` |
| 1から始まる行番号 ( |
read_latex_file
.tex ファイルの内容を読み取って返します。
パラメータ | 型 | デフォルト | 説明 |
|
| 必須 | ファイルへのパス |
list_latex_files
ディレクトリ内のすべての .tex ファイルを一覧表示します。
パラメータ | 型 | デフォルト | 説明 |
|
|
| 検索するディレクトリ |
|
|
| サブディレクトリを検索 |
validate_latex
LaTeX 構文(必須宣言、括弧の対応、環境の整合性、未定義の参照)をチェックします。
パラメータ | 型 | デフォルト | 説明 |
|
| 必須 | ファイルへのパス |
get_latex_structure
ドキュメント構造(クラス、タイトル、著者、パッケージ、セクション階層)を抽出します。
パラメータ | 型 | デフォルト | 説明 |
|
| 必須 | ファイルへのパス |
compile_latex
.tex ファイルを PDF にコンパイルします(参照や目次のためにエンジンを2回実行します)。
パラメータ | 型 | デフォルト | 説明 | ||
|
| 必須 | ファイルへのパス | ||
| `pdflatex | xelatex | lualatex` |
| LaTeX エンジン |
リソース
URI | 説明 |
| 利用可能なバンドル済みテンプレートの一覧 |
| 特定のテンプレートの内容を取得 |
テスト
MCP Inspector でテストします:
uv run mcp dev latex_server.pyまたは、付属のテストスイートを実行します:
python test_server.pyトラブルシューティング
サーバーが起動しない — Python 3.10 以上 (python --version) であること、および mcp がインストールされていること (pip list | grep mcp) を確認してください。
コンパイルが失敗する — LaTeX ディストリビューションが PATH に含まれていることを確認してください (pdflatex --version)。不足している場合は MiKTeX または TeX Live をインストールしてください。
「Access denied」エラー — 要求されたファイルパスが LATEX_SERVER_BASE_PATH の外側に解決されています。相対パスを使用するか、環境変数を調整してください。
Claude が接続できない — MCP 設定のファイルパスを再確認し、Claude Desktop を再起動し、uv run mcp dev latex_server.py で検証してください。
ライセンス
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RobertoDure/mcp-latex-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server