项目简介
Typst MCP Server 是一个基于 Model Context Protocol (MCP) 实现的应用后端。它旨在帮助大型语言模型 (LLM) 更方便地与 Typst 排版系统进行交互。通过提供一系列标准化的工具,服务器允许 LLM 执行 Typst 相关的任务,如转换代码、检查语法、查询文档以及将 Typst 代码渲染成图片。
主要功能点
- 查询 Typst 文档: LLM 可以浏览和获取 Typst 官方文档的章节内容,以便了解 Typst 的语法和功能。
- LaTeX 转 Typst: 利用 Pandoc 工具,将 LaTeX 代码片段转换为相应的 Typst 代码,帮助善于编写 LaTeX 的 LLM 生成 Typst 内容。
- Typst 语法检查: 验证 Typst 代码片段的语法是否正确,帮助 LLM 在输出前确保代码的有效性。
- Typst 生成图片: 将 Typst 代码渲染成 PNG 格式的图片,适用于 LLM 需要可视化排版结果或生成图表等场景。
安装步骤
- 克隆本项目仓库:
git clone https://github.com/johannesbrandenburger/typst-mcp.git - 克隆 Typst 仓库: (需要 Typst 仓库来生成文档数据)
git clone https://github.com/typst/typst.git - 生成 Typst 文档数据: 进入你克隆的 Typst 仓库目录,运行以下命令生成文档 JSON 文件(请根据你本地的实际路径调整 '--assets-dir' 和 '--out-file' 参数):
cargo run --package typst-docs -- --assets-dir ../typst-mcp/typst-docs --out-file ../typst-mcp/typst-docs/main.json- 确保你已经安装了 Rust 和 Cargo。
- 此命令会在 'typst-mcp/typst-docs' 目录下生成 'main.json' 文件及相关资源,这是文档查询功能所必需的。
- 安装项目依赖: 进入本项目仓库目录 ('typst-mcp'),使用 'uv' 安装 Python 依赖:
uv sync- 确保你已经安装了 'uv'(一个快速的 Python 包管理器)。
- 安装 Typst 命令行工具: 服务器的某些功能(如语法检查、图片生成)依赖于 Typst 命令行工具,请确保你已经安装并可以在系统 PATH 中访问到 'typst' 命令。可以参考 Typst 官方文档进行安装。
- 安装 Pandoc 命令行工具: LaTeX 转 Typst 功能依赖于 Pandoc,请确保你已经安装并可以在系统 PATH 中访问到 'pandoc' 命令。
服务器配置(供MCP客户端使用)
本服务器作为 MCP 后端运行,需要被 MCP 客户端(如支持 MCP 的 LLM 应用、IDE 插件等)启动和连接。通常,你需要在客户端配置中指定如何启动本服务器。
根据本项目的实现,启动命令是运行 'server.py' Python 脚本。
你需要为 MCP 客户端提供以下信息进行配置:
- 服务器名称 (Server Name): 'Typst MCP Server'
- 启动命令 (Command): 执行 Python 解释器的命令,通常是 'python' 或 'python3'。
- 命令参数 (Args): 一个列表,包含传递给启动命令的参数。第一个参数应该是 'server.py' 文件的完整路径,例如:'/path/to/your/cloned/typst-mcp/server.py'。
请将上述信息填入你的 MCP 客户端的服务器配置界面或配置文件中。具体的配置方法请参考你的 MCP 客户端的使用说明。
基本使用方法
配置完成后,启动你的 MCP 客户端。客户端会自动根据配置启动 Typst MCP Server。一旦连接建立,LLM 即可通过 MCP 协议调用服务器暴露的工具,例如:
- 调用文档查询工具获取 Typst 函数的用法。
- 将 LLM 生成的 LaTeX 数学公式或图表描述通过转换工具转为 Typst 代码。
- 在生成 Typst 代码后,调用语法检查工具确认代码是否有效。
- 对于复杂的 Typst 图形或排版,调用图片生成工具查看实际渲染效果。
信息
分类
AI与计算