tikz-mcp
Allows compiling TikZ code into high-resolution PNG images with transparent background, using LaTeX and TikZ libraries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tikz-mcpdraw a sine wave from 0 to 2π"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
tikz-mcp
A lightweight MCP (Model Context Protocol) server that compiles TikZ code into high-resolution PNG images. Lets AI assistants render and preview LaTeX/TikZ diagrams during conversations.
Features
Single tool:
compile_tikz-- pass TikZ code, get a PNG imageAuto-wrapping: Raw TikZ commands are automatically wrapped in a
standalonedocumentCustom preamble: Pass your own
\usepackage/\usetikzlibrarycommandsHigh resolution: Output at 1000 DPI by default, with transparent background
Graceful errors: LaTeX compilation errors are captured and returned as readable messages
Style guide: Built-in aesthetic rules injected into AI instructions for consistent, publication-quality output
Self-verification: AI is instructed to inspect its own output and fix issues before presenting to the user
Zero idle cost: Uses stdio transport -- no background process when not in use
Related MCP server: UML MCP
Prerequisites
Python >= 3.10
LaTeX:
pdflatexin PATH (e.g. via MacTeX or TeX Live)Poppler:
pdftoppmin PATH (install viabrew install poppler), OR Ghostscriptgsin PATH (ships with MacTeX)
Installation
pip install tikz-mcpOr install from source:
git clone https://github.com/FlorianHuo/tikz-mcp.git
cd tikz-mcp
pip install .Usage
As an MCP server (stdio)
Add to your MCP client config (e.g. Antigravity settings.json, Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"tikz-mcp": {
"command": "tikz-mcp",
"args": []
}
}
}Or run with python:
{
"mcpServers": {
"tikz-mcp": {
"command": "python3",
"args": ["-m", "tikz_mcp.server"]
}
}
}Tool: compile_tikz
Parameter | Type | Required | Description |
| string | Yes | TikZ code (raw commands or full document) |
| string | No | Custom LaTeX preamble (replaces default) |
Example -- raw TikZ code:
\begin{tikzpicture}
\draw[thick, ->] (0,0) -- (3,0) node[right] {$x$};
\draw[thick, ->] (0,0) -- (0,3) node[above] {$y$};
\draw[blue, thick] (0,0) circle (2);
\end{tikzpicture}The server auto-wraps this in a standalone document with common TikZ libraries loaded.
Example -- full document:
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill[red] (0,0) rectangle (2,2);
\end{tikzpicture}
\end{document}Output
Rendered PNGs are saved to $HOME/.tikz-mcp/output/ and the full path is returned.
Default Preamble
When raw TikZ code is provided (without \documentclass), the following preamble is used:
\usepackage{tikz}
\usepackage{amsmath,amssymb}
\usetikzlibrary{
arrows.meta, calc, decorations.pathmorphing,
decorations.markings, patterns, positioning,
shapes.geometric, shapes.misc, fit, backgrounds,
intersections, through, matrix, trees,
}Override by passing a custom preamble parameter.
License
MIT
Changelog
v0.2.0
Embedded
STYLE_GUIDE.mdinto server instructions with inline code patterns and anti-patternsAdded physical/mathematical accuracy rules (real hyperbolas, correct slopes)
Added TikZ pitfalls section (dimension overflow, hatched fill workarounds)
Added self-verification workflow: AI must inspect output and fix issues before presenting
Default
standaloneborder changed from 5pt to 8pt
v0.1.0
Initial release
compile_tikztool with auto-wrapping, custom preamble, 1000 DPI outputstdio transport for zero idle resource usage
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/FlorianHuo/tikz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server