mcpField
O
OpenMEP duct sizing

OpenMEP duct sizing

ローカル
github.com/samarmstrong科学・教育03 週間前に更新

OpenMEP duct sizing について

OpenMEP duct sizingは、エージェントやHVAC技術者向けのMCPサーバーです。固定摩擦率またはManual Dの摩擦率でダクトを寸法設定し、既設ダクトも評価します。風量を入力として受け取り、結果は技術者による予備確認用です。

主な機能

  1. 01単一ダクトの寸法設定
  2. 02接続されたダクト網の解析
  3. 03Manual D摩擦率の適用
  4. 04既設ダクトの評価
  5. 05ネットワークと寸法の問題検出

活用シーン

  1. 01設計風量からダクト寸法を選定
  2. 02既設ダクト寸法の確認
  3. 03ファン静圧に基づくダクト網の確認

MCP 対応

MCPクライアントに `size_duct` と `size_duct_network` ツールを公開します。ツールは読み取り専用で、推奨寸法、評価、検出事項を返します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"samarmstrong-openmep": {
"command": "npx",
"args": [
"-y",
"@openmep/mcp"
]
}
}
}
起動コマンドnpx -y @openmep/mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@openmep/mcp0.2.0

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
cfmnumberはいダクト区間が運ぶ風量(CFM)。
roleenumいいえmain(機器位置)、branch(複数の端末に供給)、または runout(1 つの端末)。デフォルトは main。main | branch | runout
existinganyいいえ評価する既存断面:円形の場合は { diameterIn }、または { shape: rect|oval, widthIn, heightIn }。
airflowTypeenumいいえ風速上限を設定するシステム。デフォルトは supply。supply | return | exhaust | outside-air

詳細

@openmep/mcp

あらゆるエージェントに、OpenMEP の決定論的な HVAC ダクトサイズ計算を提供する MCP サーバーです。 エディター、CAD ホスト、アカウント、ネットワークアクセスは不要です。エージェントがダクトの内容を記述し、エンジンがサイズを計算します。

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

Claude Code:claude mcp add openmep -- npx -y -p @openmep/mcp openmep-mcp。 Node.js 24 以降が必要です。トランスポート:stdio。

ツール

ツール入力戻り値
size_ductcfm、任意の role(main/branch/runout)、airflowType(supply/return/exhaust/outside-air)、existing セクション({diameterIn} または {shape: rect|oval, widthIn, heightIn})推奨される標準円形ダクト径、風速、摩擦。既存セクションの場合は、相当円形ダクト径と ok/undersized/oversized
size_duct_networkitems:requiredCfm を持つ端末、(任意で existing と lengthFt を持つ)セグメント、(任意で equivalentLengthFt を持つ)継手、機器を、connectedItemRefs で接続したもの。任意の fan(externalStaticInWg、componentLossesInWg)負荷のある各セグメントの CFM、役割、推奨サイズ、評価。fan がある場合は、Manual D の design(利用可能静圧、総実効長、摩擦率、支配経路)。CFM 欠落、未接続の端末、参照先のない参照、システムの混在、サイズ不足・過大な区間、0.06~0.18 の範囲外の摩擦率に関する指摘

どちらのツールも読み取り専用で、冪等です。入力が無効な場合は、フィールド名を含むツールエラーが返されます(NetworkInputError [invalid-item]: items[2].requiredCfm: ...)。モデルはこの情報を使って入力を修正できます。

このサーバーだけを使う、新しい Claude Code セッションで機能するプロンプトの例:

暖房炉から給気メインダクトが伸び、そこから2本の末端ダクトに分岐しています。寝室1には120 CFM、寝室2には90 CFMが必要で、リビングルームにはメインダクトの端から200 CFMが供給されます。すべて6インチの円形ダクトとして図示されています。廊下には410 CFMで10インチのドロップダクトに接続された還気グリルが1つあります。サイズ不足の箇所はありますか?

エージェントは1回の size_duct_network 呼び出しでネットワークを構築し、末端ダクトを7、6、8インチ、メインダクトを11インチと報告します。また、還気ドロップダクトは10インチではわずかにサイズ不足と報告します。

設計の根拠と制限

等摩擦法では0.08 in. w.g./100 ftを使用します。fan と長さが指定されている場合は、送風機の利用可能静圧から導出した Manual D の摩擦率を使用します。システムごとの役割別風速上限を適用し、標準円形ダクト径に切り上げます。計算式、出典、対象外の項目(継手損失、静圧の合算、送風機の選定)については、@openmep/hvac-domain を参照してください。空気流量は設計入力であり、このサーバーが推定することはありません。結果は予備的なサイズ計算として扱い、エンジニアによる確認を受けてください。

このサーバーは公式の MCP TypeScript SDK を使用し、initialize ハンドシェイクプロトコルのリビジョン(2025-11-25 まで)に対応しています。現在のクライアントでサポートされています。

ライブラリ

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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。