数学公式可视化服务器

一个为大型语言模型提供数学公式可视化和分析能力的标准模型上下文协议(MCP)服务器,支持本地渲染和计算,并可选择集成Desmos API。

  • by TheGrSun
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 thegrsun/desmos-mcp

使用说明

Desmos-MCP 服务器


英语 | 中文


这是一个标准的模型上下文协议(MCP)服务器,旨在为大型语言模型(LLMs)提供强大的数学公式可视化和分析能力。它利用了 sympy 用于本地渲染和计算,并且可以选择性地与Desmos API集成。

✨ 特点

  • 交互式公式验证使用 validate_formula 用于检查数学公式语法的工具。如果公式无效,它会使用大型语言模型(LLM)的采样功能来提供易于理解的错误解释。
  • 单功能绘图使用 plot_math_function 工具用于根据公式生成二维图表。它支持使用Desmos API(可通过配置使用) config.json) 或回退到本地 matplotlib 渲染,并在执行过程中提供进度报告。
  • 多函数绘图使用 plot_multiple_functions 在同一图表上绘制多个函数的工具。
  • 符号分析使用 analyze_formula 用于计算公式的数学属性(如定义域、值域和临界点)的工具。
  • 将图表保存到文件自动将生成的图表保存为PNG文件至 Desmos-MCP 你桌面上的文件夹。

⚙️ 技术栈

  • Python 3.10+
  • FastMCP
  • Sympy(注:这是一个用于符号计算的Python库名称,直接翻译为中文并无实际意义,但在此保留原样以展示其作为专有名词的特性)
  • Matplotlib
  • HTTPX(注:在中文中,"HTTPX"通常直接保留原样,不进行翻译,因为它是一个专有名词或特定技术术语。不过,为了说明其含义,可以解释为“一种增强型的HTTP协议或工具”,但具体含义需根据上下文确定。)

🚀 安装与设置

  1. 克隆该项目 (如果你还没有的话)
  2. 安装 uv 如果你没有 uv 安装完成后,在终端中运行以下命令:
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
  3. 创建一个虚拟环境 在项目根目录下,运行:
    uv venv
    
  4. 安装依赖项
    uv sync
    
    这个命令将根据(相关配置/需求)安装所有必要的依赖项 pyproject.toml 文件。

🔧 配置

服务器的行为由……控制 config.json 项目根目录下的文件。

{
  "desmos": {
    "use_api": true,
    "api_key_env_var": "DESMOS_API_KEY",
    "fallback_to_local": true
  },
  "rendering": {
    "default_width": 600,
    "default_height": 400
  }
}
  • desmos.use_api如果 true服务器将首先尝试使用Desmos API进行绘图。
  • desmos.api_key_env_var指定用于获取Desmos API密钥的环境变量的名称。
  • desmos.fallback_to_local如果 use_api 是 true 但是API调用失败,这决定了服务器是否应自动回退到本地渲染。

设置Desmos API密钥(可选)

要使用Desmos API功能,您需要设置一个环境变量。例如,在PowerShell中:

$env:DESMOS_API_KEY="your_actual_api_key_here"

▶️ 运行服务器

为了独立运行服务器进行测试,请在项目根目录下执行以下命令:

uv run src/main.py

服务器将通过标准输入/输出(stdio)启动,并准备好接受MCP客户端(如Gemini CLI)的连接。

📝 待办事项

  • [ ] 添加3D绘图支持。
  • [ ] 实现类似Desmos的实时公式分析和交互式绘图功能。

📄 许可证

此项目遵循Apache 2.0许可证。详见 许可证 详情请查阅文件。