使用说明
LaTeX转PDF MCP服务器
将LaTeX源代码编译为PDF文档的模型上下文协议(MCP)服务器。该服务器提供了一个简单的API,用于将LaTeX字符串转换为PDF文件,并提供可选的参考书目支持。
特性
- LaTeX编译:使用Tectonic将LaTeX源代码编译为PDF
- 书目支持:自动处理BibTeX引用和引文
- 错误检查:集成ChkTeX用于LaTeX语法验证
- HTTP API:用于PDF生成和下载的RESTful端点
- Docker支持:容器化部署,便于设置
- MCP集成:与MCP客户端兼容,实现无缝集成
安装
使用Docker(推荐)
选项1:从Docker Hub拉取
docker run -p 8000:8000 pranavgnn/latex-mcp-server:latest
选项2:从源代码构建
-
克隆存储库:
git clone https://github.com/pranavgnn/latex-pdf-mcp.git cd latex-pdf-mcp -
构建Docker镜像:
docker build -t latex-mcp-server . -
运行容器:
docker run -p 8000:8000 latex-mcp-server
服务器将在以下时间可用 http://localhost:8000.
MCP配置
要将此服务器与MCP兼容的客户端(如VS Code扩展或其他MCP客户端)一起使用,请创建一个配置文件:
VS代码配置
-
创建一个
.vscode/mcp.json工作区中的文件:{ "servers": { "latex-pdf": { "url": "http://localhost:8000/sse" } } } -
确保服务器在端口8000上运行(如上所述)
-
MCP客户端将自动发现并连接到LaTeX编译工具
配置选项
- 服务器名称:
latex-pdf(可定制) - 统一资源定位符:
http://localhost:8000/sse(MCP通信的SSE端点) - 端口:默认值为8000,但可以在Docker run命令或app.py中更改
用法
本地安装
-
安装系统依赖项:
- Tectonic:请遵循以下安装说明 构造类型设置.github.io
- ChkTeX:通过您的软件包管理器进行安装(例如。,
apt install chktex在Ubuntu上)
-
安装Python依赖项:
pip install -r requirements.txt -
运行服务器:
python app.py
用法
MCP工具
服务器暴露了一个 compile_latex 工具接受:
latex(必填):LaTeX源代码为字符串bibliography(可选):引用BibTeX内容filename(可选):输出PDF的自定义文件名
HTTP API
- 发布
/messages:MCP协议端点 - 获取
/download/{filename}:下载已编译的PDF
示例用法
# Example LaTeX compilation request
{
"latex": "\\documentclass{article}\n\\begin{document}\nHello, World!\n\\end{document}",
"filename": "hello.pdf"
}
对于有引用的文件:
{
"latex": "\\documentclass{article}\n\\addbibresource{references.bib}\n\\begin{document}\nHello \\cite{example}.\n\\printbibliography\n\\end{document}",
"bibliography": "@article{example,\n title={Example Paper},\n author={Author, A.},\n year={2023}\n}"
}
发展
先决条件
- Python 3.8+
- 构造的
- ChkTeX
运行测试
# Add test commands here when implemented
构建Docker镜像
docker build -t latex-mcp-server .
贡献
欢迎投稿!请随时提交拉取请求。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
