原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Mathgraphs MCP

作者:architectds版本 1.0.0i★ –i在你的电脑上运行
注册名称io.github.architectds/mathgraphs-mcp

安装

概览

作者提供的说明(英文原文)

Math & statistics graphing, computation, visualization, and validation engine

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: 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 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "mathgraphs": {
      "command": "npx",
      "args": [
        "-y",
        "mathgraphs-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "mathgraphs": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "mathgraphs-mcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 architectds 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32466 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32466 个服务器的 5% 更新
  • 基础检查结果等于或优于此分类中其他 32466 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Mathgraphs MCP 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(1.0.0)于8个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, HotCodePush

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211昨天更新
安装

HotCodePush

作者:hotcodepush-team

Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.

在云端运行今天更新
安装

作者的 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:

TypeFieldsExample
functionexpression (required), color{"type":"function", "expression":"x^2-4", "color":"#4A90D9"}
pointspoints [{x,y}] or [[x,y]] (required), color, label{"type":"points", "points":[{"x":2,"y":0}], "label":"root"}
segmentx1,y1,x2,y2 (required), color, label, arrow, dashed{"type":"segment", "x1":0, "y1":0, "x2":3, "y2":4, "label":"hypotenuse"}
labeltext (required), x,y (required), color, fontSize{"type":"label", "text":"vertex", "x":0, "y":-4}
trianglex1,y1,x2,y2,x3,y3 (required), color, opacity, border{"type":"triangle", "x1":0, "y1":0, "x2":3, "y2":0, "x3":3, "y3":4}
boxx1,y1,x2,y2 (required), height (required), color, opacity{"type":"box", "x1":0, "y1":0, "x2":1, "y2":0, "height":5}
circlecx,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 title
  • summary — frosted glass overlay text on the graph
  • gridStyle — "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 parameters
  • theme — "default", "terminal", "wallstreet", "science", or "finance"
  • base_render_id — build on an existing render instead of re-sending every element
  • remove_indices — drop elements from the base render by index (see get_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:

typeExtra fieldsReturns
rootsa, b (range, default -10..10)x-values where f crosses zero
extremaa, blocal minima and maxima
inflectionsa, bpoints where concavity flips
intersectg (second expression), a, bwhere f and g cross
tangentx (point of interest)tangent line at x
normalxnormal line at x
derivativexf'(x)
integrala, bdefinite integral over [a, b]
area_betweeng, a, barea between the two curves
arc_lengtha, bcurve length over [a, b]
closest_pointpx, pypoint 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:

shapedims
cylinder, coner, h (cone also accepts r + slant)
cubea
square_pyramida (base edge), h
triangular_prisma (base edge), l (length)
rectangular_prismw, h, d
tetrahedron, octahedron, icosahedron, dodecahedrona (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:

TypeFieldsExample
meshshape (required), color, opacity, position, rotation, metalness, roughness, wireframe{"type":"mesh", "shape":"sphere", "r":1, "metalness":0.8, "position":[0,1,0]}
compoundcompound (required), position, scale, color{"type":"compound", "compound":"house", "color":"#cc2222", "position":[0,0,0]}
surfaceexpression (required), color, xmin, xmax, ymin, ymax, resolution{"type":"surface", "expression":"sin(x)*cos(y)", "color":"#4A90D9"}
lightkind (point/spot/directional), color, intensity, position{"type":"light", "kind":"point", "color":"#ff8800", "position":[0,5,0]}
particlepreset (fire/smoke/rain/snow/sparkle/mist/splash), position, count, spread{"type":"particle", "preset":"fire", "position":[3,0,0]}
waterposition, size, waveHeight, color, opacity{"type":"water", "position":[0,0,0], "size":10}
line3dfrom [x,y,z], to [x,y,z], color{"type":"line3d", "from":[0,0,0], "to":[1,1,1]}
label3dtext, position [x,y,z]{"type":"label3d", "text":"origin", "position":[0,0,0]}
text3dtext, 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 (use get_3d to 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

  1. "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
  2. "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
  3. **"Plot the surface z = sin(x) * cos(y)"** → Interactive 3D surface plot with orbit controls
  4. "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 pageEquivalent call
Quadratic Roots, Root Finderanalyze {type: "roots", f}
Function Intersectionanalyze {type: "intersect", f, g}
Tangent Calculatoranalyze {type: "tangent", f, x}
Area Between Curvesanalyze {type: "area_between", f, g, a, b}
Arc Lengthanalyze {type: "arc_length", f, a, b}
Closest Pointanalyze {type: "closest_point", f, px, py}

| 3D Net Generator and the shape-net pages | `net_generator {shape, dims

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx