MCP Geometry Server
@luorivergoddess/mcp-geo
一个使用 Asymptote 生成精确几何图像的 MCP(模型上下文协议)服务器。该服务器允许与 MCP 兼容的 AI 模型通过提供 Asymptote 代码来请求图像生成。
先决条件
在使用此服务器之前,请确保已安装以下软件:
Node.js :建议使用 16.x 或更高版本。您可以从nodejs.org下载。
Asymptote :这是一个关键依赖项。asy
asy行工具必须已安装,并且可在系统 PATH 中访问。请访问Asymptote 官方网站获取下载和详细安装说明。
常见安装方法:
macOS(通过 Homebrew):
brew install asymptoteDebian/Ubuntu Linux:
sudo apt-get install asymptote**Windows:**通常作为 TeX 发行版(例如 MiKTeX 或 TeX Live)的一部分安装。请确保将 Asymptote 的
bin目录添加到 PATH 中。
服务器将在启动时尝试检查
asy -version,如果未找到则打印错误。
Related MCP server: GGB Web MCP
安装
要全局安装此包(如果您打算直接运行connect命令)或作为另一个项目中的依赖项:
npm install @luorivergoddess/mcp-geo如果您已经克隆了存储库并希望在本地运行它以进行开发:
克隆存储库。
安装依赖项:
npm install构建项目:
npm run build
用法
启动服务器
一旦软件包安装完毕(例如,全局安装或本地链接),您就可以使用软件包提供的connect命令启动 MCP 服务器。此命令旨在由 MCP 客户端调用。
npx @luorivergoddess/mcp-geo connect或者,如果您已经克隆了存储库并构建了它:
node dist/cli.js服务器将启动并使用@modelcontextprotocol/sdk监听 stdin/stdout 上的 JSON-RPC 消息。
MCP 客户端集成
配置兼容 MCP 的客户端(例如,带有 Copilot Agent 模式的 VS Code、Claude Desktop)以使用此服务器。这通常需要告诉客户端如何启动服务器,即npx @luorivergoddess/mcp-geo connect命令。
可用工具: renderGeometricImage
该服务器公开了一个主要工具:
名称:
renderGeometricImage**描述:**从 Asymptote 代码渲染图像。
输入模式:
{ "type": "object", "properties": { "asyCode": { "type": "string", "description": "A string containing complete and valid Asymptote code to be compiled. The server executes this code directly. Ensure necessary `import` statements (e.g., `import graph;`) and settings (e.g., `unitsize(1cm);`) are included within this code block if needed." }, "outputParams": { "type": "object", "description": "Optional parameters to control the output image.", "properties": { "format": { "type": "string", "enum": ["svg", "png"], "description": "The desired output image format. \"svg\" for scalable vector graphics (recommended for diagrams and plots), \"png\" for raster graphics. Defaults to \"svg\" if not specified." }, "renderLevel": { "type": "number", "description": "For PNG output only. Specifies the rendering quality (supersampling level for antialiasing). Higher values (e.g., 4 or 8) produce smoother images but take longer to render and result in larger files. Asymptote default is 2. This server defaults to 4 if not specified and format is \"png\". Ignored for SVG output." } } } }, "required": ["asyCode"] }**输出:**该工具返回一个包含内容部分数组的
CallToolResult。如果成功,它将包含一个
ImageContent部分:type: "image"mimeType: "image/svg+xml"或"image/png"data: "<base64_encoded_image_data>"
它还可能包括来自 Asymptote 的日志的
TextContent部分。如果发生错误,它会抛出
McpError。
renderGeometricImage调用示例( arguments字段为 JSON):
{
"asyCode": "draw(unitsquare); fill(unitsquare, lightblue);",
"outputParams": {
"format": "png",
"renderLevel": 4
}
}客户端兼容性说明:
一些 MCP 客户端可能对支持的图像 MIME 类型有限制。
例如,如果您将此服务器与不支持
image/svg+xml的客户端(例如,据报道“Cherry Studio”的某些版本或配置)一起使用,请确保通过在工具调用参数中包含"outputParams": { "format": "png" }来请求png格式。如果未指定格式,服务器默认为svg。
作者
罗河女神
执照
国际学习中心
Available Tools
1 toolrenderGeometricImageB
Renders an image from Asymptote code.
| Name | Required | Description | Default |
|---|---|---|---|
| asyCode | Yes | A string containing complete and valid Asymptote code to be compiled. The server executes this code directly. Ensure necessary `import` statements (e.g., `import graph;`) and settings (e.g., `unitsize(1cm);`) are included within this code block if needed. | |
| outputParams | No | Optional parameters to control the output image. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool 'Renders an image' and implies execution of code, but it doesn't mention behavioral traits like error handling (e.g., what happens with invalid code), performance (e.g., rendering time), or output specifics (e.g., image dimensions). The description is minimal, leaving gaps in transparency for a code-execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence: 'Renders an image from Asymptote code.' It is front-loaded with the core purpose and has zero waste, making it highly concise and well-structured for its simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (code execution with optional parameters), no annotations, and no output schema, the description is incomplete. It doesn't cover output details (e.g., what the image looks like, error responses) or behavioral aspects. However, the schema provides good parameter documentation, so it's minimally adequate but lacks context for a tool that executes external code.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds no additional meaning beyond the schema's details on 'asyCode' and 'outputParams'. It doesn't explain parameter interactions or provide examples, so it meets the baseline for high schema coverage without compensating value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Renders an image from Asymptote code.' It specifies the verb ('Renders') and resource ('image'), and while there are no sibling tools to distinguish from, the description is specific about the input type (Asymptote code). However, it doesn't mention what kind of image is produced (e.g., geometric diagrams, plots) beyond the Asymptote context, which could be more precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, as there are no sibling tools mentioned. It lacks context about typical use cases (e.g., generating diagrams for documentation, creating plots) or prerequisites (e.g., needing valid Asymptote syntax). Without siblings, the score is based on the absence of any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- First observed
renderGeometricImage
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clearly defined purpose that cannot be confused with any other tool in the set.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'renderGeometricImage' follows a clear verb_noun pattern, and there are no other tools to compare it against for inconsistency.
A single tool is too few for a server named 'MCP Geometry Server', which suggests a broader scope in geometry. This minimal set feels thin and incomplete, likely requiring agents to rely heavily on other servers for basic geometric operations.
The tool surface is severely incomplete for a geometry domain. It only provides image rendering from Asymptote code, missing obvious operations like calculating areas, distances, transformations, or generating geometric shapes, which are fundamental to geometry.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for Flux AI image generation
MCP server for building and testing AI agents with multi-model experimentation and insights.
MCP server for Qwen Image 3 AI image generation
Educational MCP server with 17 math/stats tools, visualizations, and persistent workspace
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that executes Manim Python scripts to generate and return rendered animations. It enables users to create mathematical and programmatic videos dynamically through natural language interfaces.3MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI to interact with GeoGebra for mathematical visualization, offering over 25 tools for geometry, functions, algebra, and more.MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that enables AI agents to create beautiful ASCII diagrams using Unicode box-drawing characters, with support for stateful canvas operations, multiple shape types, and style customization.2-
- AlicenseNot gradedqualityAmaintenanceMCP server for creating math animations with manim, enabling AI-driven real-time interactive creation and browser preview.1MIT