mcpField
M
math-svg-mcp

math-svg-mcp

本地服务
github.com/wspringer科研与教育138 周前更新

关于 math-svg-mcp

math-svg-mcp 是将 LaTeX 数学表达式转换为 SVG 的 MCP 服务,适用于需要在文档或内容中生成公式图像的场景。它可直接返回 SVG 内容,也可将结果保存到文件,并支持多种字体和单位。

主要功能

  1. 01LaTeX 公式转 SVG
  2. 02直接返回 SVG 内容
  3. 03将 SVG 保存到指定文件
  4. 04设置显示模式、字号和单位
  5. 05支持多种数学字体

适用场景

  1. 01为文档生成数学公式图像
  2. 02制作可缩放的公式插图
  3. 03将公式导出为 SVG 文件

MCP 相关

该服务向 MCP 客户端提供 LaTeX 转 SVG 工具,可返回 SVG 内容或将其写入文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"wspringer-math-svg": {
"command": "npx",
"args": [
"-y",
"math-svg-mcp"
]
}
}
}
启动命令npx -y math-svg-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmath-svg-mcp1.1.2

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
unitenum是宽度/高度的输出单位。打印/InDesign 使用 pt,网页/浏览器使用 px,公制印刷使用 mm,使用 ex 可保留相对单位。pt | px | mm | ex
latexstring是要转换的 LaTeX 数学表达式
displayboolean否显示模式(块级)与行内模式。默认值:true
fontSizenumber否字体大小(em 大小),与输出使用相同单位。例如,unit=pt 时,11 表示 11pt;unit=px 时,16 表示 16px。默认值:16
xHeightRationumber否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)

并使用工具进行渲染:

拉普拉斯变换

与 Sidekick for InDesign 配合出色

快速安装(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.5x 高度与字号的比值
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.5x 高度与字号的比值
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/。

字体说明
modernLatin Modern(默认,随包提供)
stix2STIX Two Math
newcmNew Computer Modern
firaFira Math
bonumTeX Gyre Bonum
pagellaTeX Gyre Pagella
scholaTeX Gyre Schola
termesTeX Gyre Termes
dejavuDejaVu
asanaAsana Math

要求

  • Node.js 18 或更高版本

开发

npm install
npm run build
npm test

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。