UpMath MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UPMATH_URL | No | The URL of your own UpMath renderer if self-hosting (e.g., http://localhost:8080). Defaults to the public UpMath API if not provided. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| render_equationA | Render a LaTeX equation to SVG or PNG via UpMath. Returns SVG markup or saves to file. |
| render_tikzB | Render a TikZ diagram to SVG or PNG. Supports tikz, pgfplots, circuitikz, tikz-3dplot. |
| render_batchC | Render multiple LaTeX equations at once, saving each to a file. |
| check_syntaxB | Check if LaTeX syntax is valid by attempting to render it. |
| get_render_urlA | Get the UpMath URL for a LaTeX expression (for embedding in HTML/markdown). |
| render_markdown_with_mathC | Render markdown containing $$...$$ LaTeX to HTML with embedded SVG equations. |
| render_paperA | Render a full markdown paper with $$...$$ LaTeX to a publication-ready HTML file. Uses KaTeX for standard math (fast, client-side) and falls back to UpMath API for TikZ/special packages. Handles headings, bold, italic, lists, tables, and code blocks. |
| scan_document_mathA | Scan a markdown file for all LaTeX math. Returns: equation inventory with numbering, symbol frequency table, notation index, and cross-reference validation. Essential for maintaining consistency in scientific papers. |
| build_notation_tableA | Extract all mathematical notation from a markdown file and generate a formatted notation table (symbol, meaning, first appearance). Useful for creating a 'Notation' section in a paper. |
| validate_equationsA | Validate all equations in a markdown file: check LaTeX syntax via UpMath, report render errors, and flag potential issues (unmatched braces, undefined commands). Slower than scan_document_math but verifies renderability. |
| list_diagram_templatesA | List all available TikZ diagram templates with descriptions. |
| render_diagram_templateB | Render a pre-built TikZ diagram template with custom parameters. Templates: control-system, neural-network, state-machine, bayesian-network, signal-flow, data-plot, commutative-diagram. |
| render_batch_cachedA | Render multiple equations with caching — skips re-rendering unchanged equations. Much faster for iterative editing. Cache persists within the MCP session. |
| render_diffA | Render two versions of a LaTeX equation side by side for visual comparison. Returns an HTML page with both versions. |
| render_parameter_gridA | Render a parameterized equation across a grid of values, producing an HTML comparison page. Useful for exploring how changing coefficients affects formulas. Use {PARAM} as placeholder in the LaTeX template. |
| render_equation_sheetB | Render a collection of named equations into a single reference sheet HTML page. Useful for creating equation cheat sheets or appendix summaries. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielsimonjr/upmath-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server