Thermal Server
БесплатноНе проверенA physics engine for liquid-cooled GPU systems, exposed as an AI-callable MCP server. Enables thermal analysis, coolant comparison, flow optimization, and rack-
Описание
A physics engine for liquid-cooled GPU systems, exposed as an AI-callable MCP server. Enables thermal analysis, coolant comparison, flow optimization, and rack-level sizing via natural language queries.
README
CI PyPI Python 3.10+ Open In Colab
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.
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.py
Expected 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 kPa
For a series-vs-parallel rack comparison:
python examples/rack_sizing_example.py
MCP Usage
Install the package:
pip install thermal-mcp-server
Add 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.py
Tools
| Tool | Purpose |
|---|---|
analyze_coldplate |
Single cold-plate thermal and hydraulic analysis |
compare_coolants |
Water vs 50/50 glycol comparison at identical conditions |
optimize_flow_rate |
Minimum flow search for a junction-temperature target |
analyze_rack |
Identical-GPU rack analysis in series or parallel topology |
generate_decision_report |
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:
pytest
Development
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.py
These 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.
Установить Thermal Server в Claude Desktop, Claude Code, Cursor
unyly install thermal-mcp-serverСтавит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.
Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh
Или настроить вручную
Выполни в терминале:
claude mcp add thermal-mcp-server -- uvx thermal-mcp-serverFAQ
Thermal Server MCP бесплатный?
Да, Thermal Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Thermal Server?
Нет, Thermal Server работает без API-ключей и переменных окружения.
Thermal Server — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Thermal Server в Claude Desktop, Claude Code или Cursor?
Открой Thermal Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Thermal Server with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
