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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 | |
TDQS
Scored across 16 tools
Most tools are distinct (render, scan, validate, templates), but render_tikz, render_equation, and render_batch may overlap in purpose (all render LaTeX/TikZ). However, descriptions clarify different use cases (single vs batch vs diagrams), so only minor confusion possible.
Consistent verb_noun pattern (render_, check_, get_, list_, scan_, build_, validate_). Minor deviations like render_batch_cached and render_diff break the pattern slightly but remain readable.
16 tools is on the higher end but appropriate for a comprehensive math/typesetting server covering rendering, validation, scanning, templates, and document integration. Each tool serves a distinct purpose without bloat.
The surface covers rendering (single, batch, templates, parameter grids), validation (syntax, full document), document analysis (scan, notation, equation sheets), and integration (URLs, markdown rendering). No obvious dead ends or missing critical operations.