Mathgraphs MCP
概览
作者提供的说明(英文原文)
Math & statistics graphing, computation, visualization, and validation engine
PopNx MCP 的三大支柱
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
- 用户评价i暂无评价评价功能将在后续阶段与账户功能一起开放
- 我们的基础检查i1 项中通过 1 项依据公开信息检查;尚未扫描代码
- 使用情况i非常新↓ 42/周 · ★ –
它能帮你做什么
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
- 连接方式: 在你的电脑上运行
- 传输方式: Streamable HTTP
- 分类: 数据库与数据集
安装
选择你使用的 AI 应用,然后复制设置。
安装之前
- 基础检查:1 项中通过 1 项
- 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
- 注册中心没有列出需要填写的密钥。
你需要
- npm已安装 Node.js(用于 npx 命令)
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"mathgraphs": {
"command": "npx",
"args": [
"-y",
"mathgraphs-mcp"
]
}
}
}在终端中运行这条命令
claude mcp add mathgraphs -- npx -y mathgraphs-mcp或者自己复制设置
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"mathgraphs": {
"command": "npx",
"args": [
"-y",
"mathgraphs-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
或者自己复制设置
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"mathgraphs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mathgraphs-mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它能做什么
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
基础检查i
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
- ✓ 通过
作者与仓库一致
注册名称已通过 GitHub 账户 architectds 验证,该账户拥有此仓库
- … 尚未检查
仍在维护
我们还没有从 GitHub 读取这个仓库
- … 尚未检查
有许可证
我们还没有从 GitHub 读取这个仓库
- – 不适用
端点有响应
它在你的电脑上运行,没有互联网端点
- – 不适用
使用 OAuth 登录
在你的电脑上运行,改用本地设置
- … 尚未检查
工具描述中没有隐藏指令
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与“数据库与数据集”中的其他服务器比较i
- 星标数多于此分类中其他 1144 个服务器的 0%
- 发布到注册中心的时间比此分类中其他 1144 个服务器的 7% 更新
- 基础检查结果等于或优于此分类中其他 1144 个服务器的 100%
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
常见问题
Mathgraphs MCP 安全吗?
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
它需要哪些密钥或代码?
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在我的电脑上运行还是在云端?
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
它还在维护吗?
GitHub 仓库最后更新于–,最新版本(1.0.0)于8个月前进入注册中心。
哪些应用可以使用它?
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
有什么可以替代它?
同一分类中有:Supabase, MongoDB MCP Server, Elasticsearch MCP Server
替代选择
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
作者的 README
打开 README
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
mathgraphs-mcp
MCP server for interactive math graphing, 3D scene building, and presentations.
MathTalking computes and renders interactive visualizations. Plot 2D functions, geometry, and 3D scenes. Results are graph-verified — roots, extrema, and intersections are computed from actual plotted curves, not generated by AI.
Zero install. Browser-native. Every result is a shareable interactive URL.
Quick Start
Claude Desktop
Settings → Connectors → Add custom connector → paste:
https://mathtalking.com/api/mcp
No account or API key needed.
Claude Code
claude mcp add --transport http mathtalking https://mathtalking.com/api/mcp
Any MCP Client
POST https://mathtalking.com/api/mcp
Content-Type: application/json
Standard JSON-RPC 2.0 over Streamable HTTP.
Tools
plot_graph — 2D Math Visualization
Plot functions, points, segments, labels, and shapes on an interactive graph. Auto-computes roots, extrema, and intersections for plotted functions.
Input: Array of elements, each with a type and type-specific fields:
| Type | Fields | Example |
|---|---|---|
function | expression (required), color | {"type":"function", "expression":"x^2-4", "color":"#4A90D9"} |
points | points [{x,y}] or [[x,y]] (required), color, label | {"type":"points", "points":[{"x":2,"y":0}], "label":"root"} |
segment | x1,y1,x2,y2 (required), color, label, arrow, dashed | {"type":"segment", "x1":0, "y1":0, "x2":3, "y2":4, "label":"hypotenuse"} |
label | text (required), x,y (required), color, fontSize | {"type":"label", "text":"vertex", "x":0, "y":-4} |
triangle | x1,y1,x2,y2,x3,y3 (required), color, opacity, border | {"type":"triangle", "x1":0, "y1":0, "x2":3, "y2":0, "x3":3, "y3":4} |
box | x1,y1,x2,y2 (required), height (required), color, opacity | {"type":"box", "x1":0, "y1":0, "x2":1, "y2":0, "height":5} |
circle | cx,cy,radius (required), color, opacity, border | {"type":"circle", "cx":0, "cy":0, "radius":3} |
Supports: Explicit y=f(x), implicit x²+y²=1, parametric (cos(t),sin(t)), polar, piecewise, domain restrictions.
Optional params:
viewport—{xmin, xmax, ymin, ymax}. Set it to your data's own magnitude; values far outside the range are invisible. Omit it and the server auto-fits the window to your elements.title— graph titlesummary— frosted glass overlay text on the graphgridStyle—"polar"(concentric circles + radial lines),"axes"(axes only),"none"(clean canvas)output—"url"(default, interactive page),"embed"(iframe URL), or"svg"(vector image)animations— array of{tool, name, from, to, loop}for animated parameterstheme—"default","terminal","wallstreet","science", or"finance"base_render_id— build on an existing render instead of re-sending every elementremove_indices— drop elements from the base render by index (seeget_graph)
Returns: Interactive URL with zoom, pan, and sliders. Auto-computed roots, extrema, and intersections in the response text, plus a graph check reporting anything that did not render properly — unreadable expressions, off-screen elements, duplicates, or a blank graph.
analyze — Precise Numerical Results
Compute exact values with the graph engine instead of doing the arithmetic in the model. Returns numbers, not a picture.
Input: type and f (both required), plus whichever fields that analysis needs:
type | Extra fields | Returns |
|---|---|---|
roots | a, b (range, default -10..10) | x-values where f crosses zero |
extrema | a, b | local minima and maxima |
inflections | a, b | points where concavity flips |
intersect | g (second expression), a, b | where f and g cross |
tangent | x (point of interest) | tangent line at x |
normal | x | normal line at x |
derivative | x | f'(x) |
integral | a, b | definite integral over [a, b] |
area_between | g, a, b | area between the two curves |
arc_length | a, b | curve length over [a, b] |
closest_point | px, py | point on f nearest to (px, py) |
Supports: explicit, parametric, polar, and implicit curves. For parametric curves x is the t value.
Draw the result: add plot: true (and an optional title) to get an interactive graph URL and thumbnail with the answer already marked — roots and intersections as labelled points, tangent and normal as lines, closest_point joined to its target, integral and arc_length with their bounds on the curve. Saves transcribing coordinates into a second plot_graph call. The linear-algebra types ignore it.
Example: {"type":"intersect", "f":"x^2-4", "g":"2x-1", "plot":true}
get_graph — Inspect a Graph
Retrieve the elements and viewport of an existing 2D render. Element indices come back in order, so you can pass them to remove_indices.
Input: render_id (the 10-character code in a plot_graph URL).
Returns: element list, viewport, and a one-line summary of what the graph holds.
net_generator — Shape Nets, Volume & Surface Area
Unfold a solid into its printable 2D net, with the measurements worked out.
Input: shape (required) and dims:
shape | dims |
|---|---|
cylinder, cone | r, h (cone also accepts r + slant) |
cube | a |
square_pyramid | a (base edge), h |
triangular_prism | a (base edge), l (length) |
rectangular_prism | w, h, d |
tetrahedron, octahedron, icosahedron, dodecahedron | a (edge) |
Spelled-out keys work too (radius, height, side, width, depth, length). Give every dimension the shape needs — a partial set is rejected, so a mistyped key cannot quietly produce the wrong net. Omit dims entirely to get an example at default sizes; the reply says when it did that.
Optional: unit (cm | m | in | ft), title, output (url | embed | svg).
Returns: the net as an interactive URL and thumbnail, plus volume, surface area, and the substituted formulas.
Example: {"shape":"cylinder", "dims":{"r":3,"h":5}, "unit":"cm"} → volume 141.37 cm³, surface area 150.80 cm², printable net.
A sphere has no planar net — use plot_3d for spheres.
plot_3d — 3D Scene Builder
Create interactive 3D scenes with shapes, lights, and particle effects. Build anything — snowmen, castles, robots, geometry.
Input: Array of elements, each with a type and type-specific fields:
| Type | Fields | Example |
|---|---|---|
mesh | shape (required), color, opacity, position, rotation, metalness, roughness, wireframe | {"type":"mesh", "shape":"sphere", "r":1, "metalness":0.8, "position":[0,1,0]} |
compound | compound (required), position, scale, color | {"type":"compound", "compound":"house", "color":"#cc2222", "position":[0,0,0]} |
surface | expression (required), color, xmin, xmax, ymin, ymax, resolution | {"type":"surface", "expression":"sin(x)*cos(y)", "color":"#4A90D9"} |
light | kind (point/spot/directional), color, intensity, position | {"type":"light", "kind":"point", "color":"#ff8800", "position":[0,5,0]} |
particle | preset (fire/smoke/rain/snow/sparkle/mist/splash), position, count, spread | {"type":"particle", "preset":"fire", "position":[3,0,0]} |
water | position, size, waveHeight, color, opacity | {"type":"water", "position":[0,0,0], "size":10} |
line3d | from [x,y,z], to [x,y,z], color | {"type":"line3d", "from":[0,0,0], "to":[1,1,1]} |
label3d | text, position [x,y,z] | {"type":"label3d", "text":"origin", "position":[0,0,0]} |
text3d | text, position [x,y,z], color, fontSize | {"type":"text3d", "text":"HELLO", "position":[0,2,0], "color":"#ff0000", "fontSize":1} |
11 mesh shapes: cube, box, sphere, cylinder, cone, tetrahedron, octahedron, dodecahedron, icosahedron, torus, prism
36 compound presets: tree, house, castle_tower, fence, campfire, rock, stairs, arch, table, chair, person, car, road_sign, windmill, dog, cat, flag, bed, sofa, bookshelf, lamp, desk, bush, flower, bridge, lamp_post, bench, apartment, skyscraper, shopping_center, hospital, ambulance, truck, boat, traffic_light, water_tower, fountain
Color-driven building styles: Buildings change architectural style based on color — red=Chinese, blue=modern, yellow=cozy, green=eco, brown=rustic. The actual hex color is used for materials; the hue just selects the geometry variant.
Shape params: cube→size, box→width/height/depth, sphere→r, cylinder→r/h, cone→r/h, torus→r/tube, prism→points/h
Material params: metalness (0=plastic, 1=chrome), roughness (0=mirror, 1=matte), wireframe (boolean)
Animation: animate: {type, speed, ...} — spin, bounce, orbit, waypoint, follow (tracks player)
Physics & controls: physics: {velocity, mass}, controls: {type:"wasd", speed}, collision: true
Incremental building:
base_render_id— build on an existing scene (appends elements, creates new URL)remove_indices— remove elements by index from base (useget_3dto see indices)
Optional: title, summary, camera {position, target}, skybox (day/sunset/night/overcast), gravity (-9.8), follow (boolean)
Returns: Interactive 3D URL with orbit controls + inline PNG thumbnail for chat preview.
get_3d — Inspect 3D Scene
Retrieve the full element list of an existing 3D render by ID. Use this before base_render_id to see what a scene contains and plan modifications.
Input: render_id (the short alphanumeric ID from the URL)
Returns: All elements with their properties (shapes, positions, colors, materials).
create_show — Slideshow Presentations
Bundle multiple plot_graph results into a slideshow. Create each slide with plot_graph first, then pass the render IDs here.
Input: title (string), slide_ids (array of render IDs from plot_graph results), summary (optional per-slide text).
Returns: Interactive show URL with prev/next navigation, keyboard controls, and auto-play.
Example Prompts
- "Plot x³ - 3x + 1 and show me its roots and extrema" → Interactive graph with computed roots (x ≈ -1.88, 0.35, 1.53) and extrema
- "Build a village with a red house, trees, and a campfire" → 3D scene with Chinese-style house (red color triggers Chinese variant), PNG thumbnail in chat
- **"Plot the surface z = sin(x) * cos(y)"** → Interactive 3D surface plot with orbit controls
- "Create a 3-slide show: y=x², y=x²+2 shifted up, y=(x-3)² shifted right" → Slideshow URL with navigation
The Same Tools on the Web
Several MathTalking pages are the browser form of a call you can make here. If you are answering the same question an agent would, the tool call is usually faster than pointing someone at the page — and both compute with the same engine.
| Web page | Equivalent call |
|---|---|
| Quadratic Roots, Root Finder | analyze {type: "roots", f} |
| Function Intersection | analyze {type: "intersect", f, g} |
| Tangent Calculator | analyze {type: "tangent", f, x} |
| Area Between Curves | analyze {type: "area_between", f, g, a, b} |
| Arc Length | analyze {type: "arc_length", f, a, b} |
| Closest Point | analyze {type: "closest_point", f, px, py} |
| 3D Net Generator and the shape-net pages | `net_generator {shape, dims
只显示了开头部分;其余内容请在仓库中阅读