项目简介

该项目 '@luorivergoddess/mcp-geo' 是一个基于 Model Context Protocol (MCP) 标准构建的后端服务。它专门用于接收包含 Asymptote 语言编写的几何描述代码,并利用本地安装的 Asymptote 命令行工具将这些代码编译并渲染成图像文件(支持 SVG 和 PNG 格式)。渲染结果将通过 MCP 协议返回给发起请求的 AI 模型或客户端,使其能够在对话或任务中展示精确的几何图形。

主要功能点

  • Asymptote 代码渲染: 核心功能是将接收到的 Asymptote 源代码通过外部 Asymptote 编译器渲染成图像。
  • 图像格式支持: 支持生成 SVG(矢量图)和 PNG(位图)两种图像格式的输出。
  • 作为MCP工具提供服务: 作为一个标准的 MCP 服务器,通过暴露一个名为 'renderGeometricImage' 的工具来提供渲染能力。AI 模型可以通过调用这个工具来请求图像生成服务。
  • Stdio 传输协议: 使用 Stdio(标准输入/输出)作为与 MCP 客户端通信的传输协议。

安装步骤

  1. 安装 Node.js: 确保您的系统安装了 Node.js (推荐 v16.x 或更高版本)。可以从 nodejs.org 下载。

  2. 安装 Asymptote: 这是必需的依赖。 Asymptote 命令行工具 ('asy') 必须安装并添加到系统的 PATH 环境变量中,以便服务器能够调用它。请访问 Asymptote 官方网站 获取详细的安装指南。

    • 常见的安装方式:
      • macOS (使用 Homebrew): 'brew install asymptote'
      • Debian/Ubuntu Linux: 'sudo apt-get install asymptote'
      • Windows: 通常作为 MiKTeX 或 TeX Live 等 TeX 发行版的一部分安装。请确保 Asymptote 的 'bin' 目录已添加到 PATH。
  3. 安装 MCP 服务器: 通过 npm 全局安装 '@luorivergoddess/mcp-geo' 包。

    npm install -g @luorivergoddess/mcp-geo

服务器配置 (供MCP客户端参考)

该 MCP 服务器是为 MCP 客户端(如支持 MCP 的 AI 代理或应用)设计的后端服务。MCP 客户端需要配置如何启动和连接到这个服务器。典型的配置信息如下:

  • 服务器名称 (Server Name): '@luorivergoddess/mcp-geo'
  • 启动命令 (Command): 'npx'
  • 启动参数 (Args): '@luorivergoddess/mcp-geo', 'connect'

(注:具体的客户端配置界面和方式请参考您的 MCP 客户端文档。您需要将上述信息填入客户端的 MCP 服务器或 Agent 配置中。)

基本使用方法

服务器安装并配置到 MCP 客户端后,AI 模型便可以通过调用 MCP 协议中定义的工具请求来使用其功能。对于此服务器,模型可以调用名为 'renderGeometricImage' 的工具。

调用 'renderGeometricImage' 工具时,需要在请求参数中提供:

  • 'asyCode' (必需): 一个包含完整 Asymptote 代码的字符串。
  • 'outputParams' (可选): 控制输出格式和质量的参数对象,可包含:
    • 'format' (可选, 默认 'svg'): 指定输出格式,可以是 '"svg"' 或 '"png"'。
    • 'renderLevel' (可选, 仅对 PNG 有效, 默认 '4'): 指定渲染质量(抗锯齿级别)。

示例 (AI模型向服务器发起调用请求时,'arguments' 字段的 JSON 内容):

{
  "asyCode": "import graph; size(6cm); pair a=(0,0), b=(2,0), c=(1,1); draw(a--b--c--cycle);",
  "outputParams": {
    "format": "svg"
  }
}

服务器执行 Asymptote 代码渲染后,会将生成的图像数据(经过 Base64 编码)作为工具调用结果的一部分返回给客户端,客户端即可根据需要显示或使用该图像。

信息

分类

AI与计算