关于 math-svg-mcp
math-svg-mcp 是将 LaTeX 数学表达式转换为 SVG 的 MCP 服务,适用于需要在文档或内容中生成公式图像的场景。它可直接返回 SVG 内容,也可将结果保存到文件,并支持多种字体和单位。
主要功能
- 01LaTeX 公式转 SVG
- 02直接返回 SVG 内容
- 03将 SVG 保存到指定文件
- 04设置显示模式、字号和单位
- 05支持多种数学字体
适用场景
- 01为文档生成数学公式图像
- 02制作可缩放的公式插图
- 03将公式导出为 SVG 文件
MCP 相关
该服务向 MCP 客户端提供 LaTeX 转 SVG 工具,可返回 SVG 内容或将其写入文件。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| unit | enum | 是 | 宽度/高度的输出单位。打印/InDesign 使用 pt,网页/浏览器使用 px,公制印刷使用 mm,使用 ex 可保留相对单位。pt | px | mm | ex |
| latex | string | 是 | 要转换的 LaTeX 数学表达式 |
| display | boolean | 否 | 显示模式(块级)与行内模式。默认值:true |
| fontSize | number | 否 | 字体大小(em 大小),与输出使用相同单位。例如,unit=pt 时,11 表示 11pt;unit=px 时,16 表示 16px。默认值:16 |
| xHeightRatio | number | 否 | x-height 与字体大小的比率。因字体而异:Times 为 0.45,Helvetica 为 0.52,Computer Modern 为 0.43。默认值:0.5 |
详细介绍
math-svg-mcp
一个可将 LaTeX 数学表达式转换为 SVG 的 MCP 服务。
完成配置后,Claude(或你喜欢的 AI 助手)即可将 LaTeX 数学表达式转换为 SVG。例如,你可以这样提问:
给我拉普拉斯变换公式的 SVG
助手会生成 LaTeX:
\mathcal{L}\{f(t)\} = \int_0^\infty f(t) e^{-st} \, dt = F(s)
并使用工具进行渲染:
快速安装(Claude Desktop)
下载并打开 .mcpb 文件,即可自动配置 Claude Desktop:最新版本。
或者使用此直接链接:math-svg-mcp.mcpb
手动配置
Claude Desktop
将以下内容添加到 Claude Desktop 配置文件中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"math-svg": {
"command": "npx",
"args": ["-y", "math-svg-mcp"]
}
}
}
Claude Code
将以下内容添加到 Claude Code 设置(.claude/settings.json 或全局设置)中:
{
"mcpServers": {
"math-svg": {
"command": "npx",
"args": ["-y", "math-svg-mcp"]
}
}
}
或直接运行:
claude mcp add math-svg -- npx -y math-svg-mcp
其他 MCP 客户端
任何兼容 MCP 的客户端都可以使用相同的配置方式来使用此服务:
{
"command": "npx",
"args": ["-y", "math-svg-mcp"]
}
全局安装(可选)
如需更快启动,可进行全局安装:
npm install -g math-svg-mcp
然后将客户端配置为使用:
{
"command": "math-svg-mcp"
}
工具
latex_to_svg
将 LaTeX 表达式转换为 SVG,并直接返回内容。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
latex | 是 | — | LaTeX 数学表达式 |
unit | 是 | — | 输出单位:pt、px、mm 或 ex |
display | 否 | true | 显示模式(块级)或行内模式 |
fontSize | 否 | 16 | 指定单位下的字号 |
xHeightRatio | 否 | 0.5 | x 高度与字号的比值 |
font | 否 | modern | 数学字体(参见可用字体) |
示例: E = mc^2
latex_to_svg_file
将 LaTeX 表达式转换为 SVG 并保存到文件。
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
latex | 是 | — | LaTeX 数学表达式 |
outputPath | 是 | — | SVG 文件路径 |
unit | 是 | — | 输出单位:pt、px、mm 或 ex |
display | 否 | true | 显示模式(块级)或行内模式 |
fontSize | 否 | 16 | 指定单位下的字号 |
xHeightRatio | 否 | 0.5 | x 高度与字号的比值 |
font | 否 | modern | 数学字体(参见可用字体) |
示例: \int_0^\infty e^{-x^2} dx = \frac{\sqrt{\pi}}{2} → /tmp/gaussian.svg
可用字体
font 参数允许你从 10 种数学字体中进行选择。默认的 modern 字体(Latin Modern)已随包提供;其他字体会在首次使用时自动下载,并缓存到 ~/.cache/math-svg-mcp/fonts/。
| 字体 | 说明 |
|---|---|
modern | Latin Modern(默认,随包提供) |
stix2 | STIX Two Math |
newcm | New Computer Modern |
fira | Fira Math |
bonum | TeX Gyre Bonum |
pagella | TeX Gyre Pagella |
schola | TeX Gyre Schola |
termes | TeX Gyre Termes |
dejavu | DejaVu |
asana | Asana Math |
要求
- Node.js 18 或更高版本
开发
npm install
npm run build
npm test
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。