thermal-mcp-server
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., "@thermal-mcp-serverWhat's the junction temperature for a 700W H100 with water cooling at 8 LPM?"
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.
thermal-mcp-server
A Python package and MCP server that exposes simplified liquid-cooled accelerator thermal models as AI-callable tools for rack-level cooling analysis.
What It Models
Steady-state 1D thermal-resistance networks for GPU cold plates.
Coolant heat pickup from energy balance.
Darcy-Weisbach pressure drop with simple laminar, transition, and turbulent handling.
Water and 50/50 glycol comparisons using fixed nominal properties.
Identical-GPU racks in series or parallel topology.
First-pass CDU flow, pressure-drop, return-temperature, and junction-temperature sizing.
Public accelerator reference cases with explicit source and estimate labels.
Related MCP server: cad-mcp
What It Does Not Model
It is not a CFD solver or vendor thermal-design substitute.
It is not validated against proprietary test data.
It does not model manifold/header pressure losses, pump curves, fouling, transient/two-phase behavior, 2D spreading, detailed cold-plate geometry, or flow maldistribution.
It does not support heterogeneous racks; each rack analysis assumes identical GPUs and cold plates.
Financial and ROI modeling belongs outside this package.
Quickstart
git clone https://github.com/riccardovietri/thermal-mcp-server.git
cd thermal-mcp-server
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest
python examples/quickstart.pyExpected output from python examples/quickstart.py:
thermal-mcp-server quickstart
Single H100 SXM cold plate
Heat load: 700 W
Flow rate: 8.0 LPM water
Inlet temp: 25.0 deg C
Junction temp: 70.9 deg C
Margin to 83 C: 12.1 deg C
Pressure drop: 16.8 kPa
Flow regime: transitional
8-GPU rack, parallel topology
Rack heat load: 5.6 kW
Total CDU flow: 64.0 LPM
Max junction: 70.9 deg C
CDU return temp: 26.3 deg C
Cold-plate dP: 16.8 kPaFor a series-vs-parallel rack comparison:
python examples/rack_sizing_example.pyMCP Usage
Install the package:
pip install thermal-mcp-serverAdd the server to an MCP client:
{
"mcpServers": {
"thermal": {
"command": "python",
"args": ["-m", "thermal_mcp_server"]
}
}
}If your MCP client does not inherit your shell PATH, use the absolute path to
the Python executable inside the environment where thermal-mcp-server is
installed.
Example MCP client run:
The client calls analyze_coldplate through the MCP server, receives the
thermal result, and interprets the output in the conversation.
To reproduce this locally without a separate client, run the in-memory demo — it drives the same MCP server in-process (no network, no API key) and prints the exact request/response payloads a model sees:
python examples/mcp_client_demo.pyTools
Tool | Purpose |
| Single cold-plate thermal and hydraulic analysis |
| Water vs 50/50 glycol comparison at identical conditions |
| Minimum flow search for a junction-temperature target |
| Identical-GPU rack analysis in series or parallel topology |
| First-pass sizing memo with flow band, risk, uncertainty, and model blind spots |
See docs/mcp.md for tool contracts.
Physics Assumptions
The model uses:
T_junction = T_inlet + 0.5 * coolant_rise + Q * R_total
R_total = R_jc + R_tim + R_base + R_conv
coolant_rise = Q / (m_dot * cp)Heat transfer uses Dittus-Boelter for turbulent flow, Nu = 4.36 for laminar flow, and a linear blend in transition. Pressure drop uses Darcy-Weisbach with the same regime split.
Read the concise model notes in docs/model_overview.md
and docs/assumptions.md. The detailed derivation and
hand-calculation references are in docs/physics.md.
Public Reference Cases
The examples include H100 SXM, B200/NVL72-style, MI300X, and Gaudi 3 cases. Only H100 TDP and thermal limit are treated as vendor-published values in the default examples. Other limits, package resistances, and high-power cold-plate geometry are marked as estimates or proxies where vendors do not publish them.
See docs/public_specs.md and
examples/real_chip_benchmarks.py.
Tests
The current suite has 75 tests:
Physics behavior and hand-calculation checks.
MCP wrapper contracts and error envelopes.
Decision report behavior, including rack-aware feasibility.
Smoke tests for
examples/quickstart.py,examples/rack_sizing_example.py, andexamples/mcp_client_demo.py.
Run:
pytestDevelopment
uv sync --group dev
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
uv build
uv run python examples/quickstart.py
uv run python examples/rack_sizing_example.pyThese mirror the CI gate; all must pass before a PR can merge.
Roadmap
Pump-curve support as an explicit input instead of a fixed pump-efficiency estimate.
Transient thermal-capacitance model.
More public reference cases with clearly labeled source quality.
Interactive notebook polish for Colab use.
Cold-plate optimization only as a separate experimental module or package.
Why This Exists
This project started as a way to explore how AI assistants can call lightweight engineering models directly instead of only producing static text. The package exposes simplified liquid-cooling calculations through Python and MCP tools, making it possible to ask design-tradeoff questions about accelerator cooling, rack-level CDU sizing, and coolant topology in a reproducible way.
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/riccardovietri/thermal-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server