OpenMEP duct sizing

io.github.samarmstrong由 GitHub 帳號 samarmstrong 發布v0.2.0更新於 Oct 24, 2026

Deterministic HVAC duct sizing at a fixed or Manual D friction rate; grades existing ducts.

已驗證STDIO僅桌面開發者工具資料與分析

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理依固定摩擦率或 Manual D 摩擦率以確定性方式進行暖通空調風管選型,並評估既有風管。

可以做什麼
依風量、用途、氣流類型及可選的既有圓形、矩形或橢圓形截面,為單段風管選型,回傳建議的標準圓管直徑、風速、摩擦率,以及既有風管的合格、偏小或偏大評級。為整張風管網路(由終端、管段、管件與設備透過參照連接)選型,回傳每段的 CFM、用途、建議與評級。在給定風機靜壓與長度時,推導 Manual D 設計:可用靜壓、總有效長度、摩擦率與控制路徑。回報缺少風量、終端未連接、懸空參照、混合系統、偏小或偏大管段,以及摩擦率超出 0.06–0.18 等問題。
適用情境
適用於助理需要進行初步暖通空調風管選型,或判斷既有風管是否偏小、偏大或合適時,包括帶風機靜壓的整網配置。結果僅作為供工程師複核的初步選型。
執行需求
透過 npx 從 npm 套件 @openmep/mcp 以 stdio 在本機執行,需要 Node.js 24+。不需編輯器、CAD 宿主、帳號、API 金鑰或網路存取。
安裝前請注意
風量是設計輸入,伺服器從不自行估算,助理必須提供 CFM 數值。引擎不含管件損失、靜壓累加與風機選型,結果僅為供工程師複核的初步選型。兩個工具皆為唯讀且冪等,不會寫入或傳送任何資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 OpenMEP duct sizing,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@openmep/mcp

An MCP server that gives any agent OpenMEP's deterministic HVAC duct sizing. No editor, CAD host, account, or network access: the agent describes the ducts, the engine sizes them.

json
{  "mcpServers": {    "openmep": { "command": "npx", "args": ["-y", "-p", "@openmep/mcp", "openmep-mcp"] }  }}

Claude Code: claude mcp add openmep -- npx -y -p @openmep/mcp openmep-mcp. Requires Node.js 24+. Transport: stdio.

Tools

ToolInputReturns
size_ductcfm, optional role (main/branch/runout), airflowType (supply/return/exhaust/outside-air), existing section ({diameterIn} or {shape: rect|oval, widthIn, heightIn})Recommended standard round diameter, velocity, friction; for an existing section its circular equivalent and ok/undersized/oversized
size_duct_networkitems: terminals with requiredCfm, segments (optionally with existing and lengthFt), fittings (optionally equivalentLengthFt), equipment, linked by connectedItemRefs; optional fan (externalStaticInWg, componentLossesInWg)Every loaded segment's CFM, role, recommendation, and grade; with fan, the Manual D design (available static, total effective length, friction rate, governing paths); findings for missing CFM, disconnected terminals, dangling references, mixed systems, undersized and oversized runs, friction rate outside 0.06–0.18

Both tools are read-only and idempotent. Invalid input comes back as a tool error naming the field (NetworkInputError [invalid-item]: items[2].requiredCfm: ...) so the model can correct it.

Example prompt that works in a fresh Claude Code session with only this server:

I have a furnace feeding a supply trunk that tees into two runouts: bedroom 1 needs 120 CFM, bedroom 2 needs 90 CFM, and the living room is fed off the trunk end at 200 CFM. All drawn as 6 inch round. One return grille in the hall at 410 CFM on a 10 inch drop. Is anything undersized?

The agent builds the network in one size_duct_network call and reports 7, 6, and 8 in runouts, an 11 in trunk, and a return drop just under size at 10 in.

Engineering basis and limits

Equal friction at 0.08 in. w.g./100 ft, or at the Manual D rate derived from the blower's available static pressure when fan and lengths are given, with role-based velocity caps per system, rounded up to standard round diameters; see @openmep/hvac-domain for the formula, sources, and what is excluded (fitting losses, static pressure summation, fan selection). Airflow is a design input the server never estimates. Treat results as preliminary sizing for an engineer to review.

The server uses the official MCP TypeScript SDK and speaks the initialize-handshake protocol revisions (through 2025-11-25), which current clients support.

Library

ts
import { createOpenMepServer } from "@openmep/mcp";await createOpenMepServer().connect(transport); // any MCP server transport

來源:packages/mcp/README.md,提交 4f57471

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.2.0最新Oct 7, 2026
  2. v0.1.0Sep 23, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分