MCP LaTeX Server
MCP LaTeX 서버
LaTeX 파일 생성, 편집, 검증 및 컴파일을 위한 모델 컨텍스트 프로토콜(MCP) 서버입니다. FastMCP와 Pydantic으로 구축되어 타입 안전하고 구조화된 출력을 제공합니다.
주요 기능
생성: 매개변수 또는 번들 템플릿(article, beamer, report)을 사용하여 LaTeX 문서 생성
편집: 교체(replace), 삽입(insert), 추가(append), 앞에 추가(prepend) 작업을 통한 파일 편집
읽기 및 목록: 보안 기본 디렉토리 내의
.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로 컴파일합니다 (참조/목차를 위해 엔진을 두 번 실행).
매개변수 | 타입 | 기본값 | 설명 | ||
|
| 필수 | 파일 경로 | ||
| `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