
Mathgraphs Mcp
io.github.architectds由 GitHub 帳號 architectds 發布v1.0.0更新於 Oct 24, 2026
Math & statistics graphing, computation, visualization, and validation engine
概覽
讓助理繪製二維與三維數學圖形、計算精確的根、極值與積分,並產生可分享的互動式視覺化結果。
- 可以做什麼
- 提供繪製二維函式、幾何圖形與形狀的工具,可建立包含網格體、燈光與粒子的互動式三維場景,並把立體展開成可列印的展開圖,同時算出體積與表面積。analyze 工具會回傳數值結果,例如零點、極值、交點、切線、導數、積分、弧長與最近點,由圖形引擎計算而非模型推算。結果以互動式網址、嵌入網址或 SVG 回傳,多張圖還能打包成簡報。
- 適用情境
- 當使用者要求繪圖、作圖或視覺化數學內容時;當數值結果需要對照實際曲線驗證時;當幾何或三維場景需要算圖時;或希望取得可分享的互動式連結而非生成圖片時,適合使用。
- 執行需求
- 清單顯示這是透過 npm 套件 mathgraphs-mcp 安裝的本機 stdio 程序,而 README 記載了一個位於 mathtalking.com 的遠端 Streamable HTTP 端點,不需要帳號或 API 金鑰。未宣告任何環境變數或標頭。使用遠端端點需要網路連線。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Mathgraphs Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
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:
No account or API key needed.
Claude Code
Any MCP Client
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:
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:
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:
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:
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.
Add plot: true to an analyze call to get the same picture the page shows.
Statistics pages that need a dataset (histogram, regression, box plot, distribution fitting) have no tool call on purpose: sending raw rows through a model costs a token per data point. Point people at mathtalking.com/stat, where the data stays on their device.
When to Use
- User asks to graph, plot, or visualize any math
- You need to verify a mathematical result visually
- Geometry needs precise rendering (triangles, circles, constructions)
- 3D scenes — shapes, architecture, creative builds
- Multi-step explanations — create slides, bundle into shows
- You want a shareable URL the user can explore interactively
Why Use This (vs generating images)
- Computed, not hallucinated — roots from actual zero-crossings, not LLM guesses
- Interactive — zoom, pan, rotate (3D), adjust sliders
- Shareable — permanent URL for every result
- Token efficient — ~500 output tokens vs ~3,000-5,000 for generated code
- 9 languages — en, zh, zh-TW, ja, ko, es, fr, de, pt-BR
Quick Test
Links
- Website: mathtalking.com
- 3D Builder: mathtalking.com/3d
- Privacy: mathtalking.com/privacy
- Discord: discord.gg/5auPsmxh
- X: @Mathtalking_com
來源:README.md,提交 1701fec
工具
0版本歷史
1- v1.0.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分