
Mathgraphs Mcp
- Updated April 11, 2026
- architectds/mathgraphs-mcp
io.github.architectds/mathgraphs-mcp is an MCP server that gives agents a hosted math and statistics graphing, computation, visualization, and validation engine over streamable HTTP.
About
io.github.architectds/mathgraphs-mcp is a Model Context Protocol server that acts as a math and statistics graphing, computation, visualization, and validation engine for AI coding agents. developers shipping analytics features, ed-tech prototypes, or internal dashboards can ask their agent to produce plots, run calculations, and sanity-check results through MCP instead of bouncing between Python, R, or spreadsheet tools. The published package uses streamable HTTP to https://mathtalking.com/api/mcp, which lowers setup friction compared with self-hosting heavy math stacks. Complexity is intermediate because you need MCP client configuration and clear prompts about what to validate versus what to approximate. It is not a full BI platform or a substitute for domain-specific statistical review on regulated data.
- Streamable HTTP MCP at mathtalking.com/api/mcp (npm package mathgraphs-mcp v1.0.1)
- Graphing, computation, visualization, and validation for math and statistics in one engine
- Remote hosted transport—no local CAS install required for basic agent workflows
- Suited to notebooks-style questions, regression checks, and chart generation from natural language
- Registry version 1.0.0 with GitHub source architectds/mathgraphs-mcp
Mathgraphs Mcp by the numbers
- Data as of Jul 7, 2026 (Skillselion catalog sync)
claude mcp add MathgraphsMcp -- npx -y architectds/mathgraphs-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| Last updated | April 11, 2026 |
|---|---|
| Repository | architectds/mathgraphs-mcp ↗ |
What it does
Wire your coding agent to plot, compute, and validate math and statistics without hand-rolling chart code or CAS libraries.
Who is it for?
Best when you're adding charts, homework-style math checks, or quick stats validation to agent-driven apps without maintaining your own plotting service.
Skip if: Skip if you need on-prem data science, HIPAA-isolated workloads, or publication-grade statistical sign-off without human review.
What you get
After you register the MCP endpoint, your agent can generate plots, run computations, and validate statistical steps through structured tools rather than improvised code.
- Agent-callable math graph and computation results via MCP
- Visualization outputs from statistics prompts
- Validation feedback on numeric or statistical expressions
By the numbers
- Registry server version 1.0.0; npm package version 1.0.1
- Transport: streamable-http URL https://mathtalking.com/api/mcp
- Single npm package identifier mathgraphs-mcp
README.md
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}] (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}to set coordinate rangetitle— 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"
Returns: Interactive URL with zoom, pan, and sliders. Auto-computed roots, extrema, and intersections in the response text.
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
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
# 2D graph
curl -X POST https://mathtalking.com/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"plot_graph","arguments":{"elements":[{"type":"function","expression":"sin(x)","color":"#4A90D9"}]}}}'
# 3D scene
curl -X POST https://mathtalking.com/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"plot_3d","arguments":{"elements":[{"type":"mesh","shape":"sphere","r":1,"color":"#ff0000","position":[0,1,0]}]}}}'
Links
- Website: mathtalking.com
- 3D Builder: mathtalking.com/3d
- Privacy: mathtalking.com/privacy
- Discord: discord.gg/5auPsmxh
- X: @Mathtalking_com
Recommended MCP Servers
How it compares
Hosted math MCP engine, not a local Jupyter skill or a general-purpose code runner.
FAQ
Who is mathgraphs-mcp for?
Developers using Claude Code, Cursor, or similar agents who need dependable math graphs and numeric validation in the build loop.
When should I use mathgraphs-mcp?
Use it while building integrations or demo analytics when you want the agent to compute, plot, and validate statistics through MCP instead of one-off scripts.
How do I add mathgraphs-mcp to my agent?
Add the npm-listed server mathgraphs-mcp in your MCP client with transport type streamable-http and URL https://mathtalking.com/api/mcp per the registry package entry.