A local MCP server that lets Claude generate academic-quality flowcharts from natural language or code.
You describe what you want — or connect a codebase via the filesystem connector — and Claude constructs the full graph. The server renders it into a clean SVG using Graphviz.
- Python 3.12+
- uv
- Graphviz — must be on your
PATH
Install Graphviz for your OS:
# Windows
winget install graphviz
# macOS
brew install graphviz
# Debian / Ubuntu
sudo apt install graphvizVerify it's installed:
dot -Vgit clone https://github.com/your-username/flowchart-mcp-server
cd flowchart-mcp-server
uv syncOpen your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Add the server under mcpServers:
{
"mcpServers": {
"flowchart": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/flowchart-mcp-server",
"python",
"server.py"
]
}
}
}Replace the path with the actual location on your machine, then restart Claude Desktop.
Once connected, talk to Claude naturally:
"Draw a flowchart of the binary search algorithm"
"Create an academic-style flowchart of how TCP handshakes work"
"Read my
auth.pyand generate a flowchart of the login flow" (requires filesystem connector)
Charts are returned inline and saved as SVG to the charts/ folder.
| Style | Description |
|---|---|
colorful |
Vibrant colour-coded nodes (default) |
academic |
Black & white, thick borders — suitable for papers and theses |
minimal |
Soft greys, clean modern look |
Specify a style in your prompt: "...use the academic style"
| colorful | academic | minimal | |
|---|---|---|---|
| Type | Shape | Used for |
|---|---|---|
start |
Oval | Entry point |
end |
Oval | Exit point |
process |
Rectangle | Computation or action |
decision |
Diamond | Branch / condition |
io |
Parallelogram | Input or output |
subprocess |
Double rectangle | Named function call |
connector |
Small circle | Off-page connector |
annotation |
Note | Clarifying comment |
flowchart-mcp-server/
├── server.py # MCP server
├── charts/ # Generated SVG output
├── pyproject.toml
└── uv.lock