PyThermoCalcDB-NASA-MCP
🧪 PyThermoCalcDB-NASA-MCP
PyThermoCalcDB-NASA-MCP は、エージェントや MCP 互換クライアントから選択された pythermocalcdb-nasa の熱力学計算を実行するための Model Context Protocol サーバーです。
🌐 概要
この MCP パッケージはインターフェースとオーケストレーション層です。構造化されたリクエストを検証し、ModelSource を構築し、決定論的な pythermocalcdb-nasa 関数を呼び出し、JSON 安全な結果を返します。科学計算自体は実装しません。
デフォルトのソースワークフローは、pythermocalcdb-nasa に含まれる組み込みの NASA-9 SQLite データベースを使用します。コンポーネントがローカルに利用できない場合、MCP サーバーは構造化された失敗を返します。外部データの検索はこの MCP サーバーの責務ではありません。別のエージェントや呼び出し元が、完全な pyThermoDB REFERENCE コンテンツを準備し、source: "reference" でツールを呼び出す必要があります。
このパッケージは以下の用途に使用します:
単一コンポーネントの
H_T、S_T、G_T、Cp_Tを計算する。反応の
dH_rxn_STD、dS_rxn_STD、dG_rxn_STD、Keq、Keq_vh_shortcutを計算する。外部で準備された pyThermoDB YAML 参照コンテンツを検証する。
Related MCP server: MoziChem-MCP
📦 インストール
pip install pythermocalcdb-nasa-mcpローカル開発の場合:
uv sync▶️ 実行
デフォルトのトランスポートは STDIO です:
pythermocalcdb-nasa-mcp --mode stdioHTTP トランスポートもサポートされています:
pythermocalcdb-nasa-mcp --mode http --host 127.0.0.1 --port 8000 --path /mcpローカルチェックアウトから実行する場合:
uv run pythermocalcdb-nasa-mcp --mode stdio🔌 MCP クライアント設定
🧵 STDIO:
{
"mcpServers": {
"pythermocalcdb-nasa": {
"command": "pythermocalcdb-nasa-mcp",
"args": ["--mode", "stdio"]
}
}
}🌍 HTTP:
{
"mcpServers": {
"pythermocalcdb-nasa": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}🕵️ MCP インスペクター
公式の MCP インスペクターでサーバーをテストできます。
ローカルチェックアウトから直接 STDIO テストを行う場合:
npx @modelcontextprotocol/inspector uv run pythermocalcdb-nasa-mcp --mode stdioHTTP テストの場合は、まずサーバーを起動します:
uv run pythermocalcdb-nasa-mcp --mode http --host 127.0.0.1 --port 8000 --path /mcp次に、インスペクターを以下に接続します:
http://127.0.0.1:8000/mcp📚 MCP リソース
pythermocalcdb-nasa://references/nasa-requirementsソースポリシー、NASA 記号、単位、温度範囲、エージェントの制限。
pythermocalcdb-nasa://workflows/species-propertiesH_T、S_T、G_T、Cp_Tのワークフロー。
pythermocalcdb-nasa://workflows/reaction-propertiesdH_rxn_STD、dS_rxn_STD、dG_rxn_STD、Keq、Keq_vh_shortcutのワークフロー。
pythermocalcdb-nasa://guidance/agent-checklist信頼性の高いデータベース優先および参照ベースの呼び出しのためのチェックリスト。
🧰 MCP ツール
🔥 種(Species)ツール:
calc_H_Tcalc_S_Tcalc_G_Tcalc_Cp_T
⚗️ 反応ツール:
calc_dH_rxn_STDcalc_dS_rxn_STDcalc_dG_rxn_STDcalc_Keqcalc_Keq_vh_shortcut
🛠️ ユーティリティツール:
check_yaml_reference
📝 入力モデルに関する注意
計算ツールは request という名前の Pydantic 引数を 1 つ受け取ります。これらは pythermodb_settings の共有ドメインモデル(Component、Temperature、ComponentKey を含む)を使用します。
🗄️ データベースバックエンドの種リクエスト:
{
"request": {
"component": {
"name": "carbon dioxide",
"formula": "CO2",
"state": "g"
},
"temperature": {
"value": 300.0,
"unit": "K"
},
"source": "database",
"component_key": "Name-Formula",
"nasa_type": "nasa9",
"basis": "molar"
}
}📄 参照バックエンドの種リクエスト:
{
"request": {
"component": {
"name": "component name from prepared reference",
"formula": "Formula",
"state": "g"
},
"temperature": {
"value": 300.0,
"unit": "K"
},
"source": "reference",
"reference_content": "REFERENCES:\n ...",
"component_key": "Name-Formula",
"nasa_type": "nasa9",
"basis": "molar"
}
}🗄️ データベースバックエンドの反応リクエスト:
{
"request": {
"name": "Water-Gas Shift Reaction",
"reaction": "CO(g) + H2O(g) => CO2(g) + H2(g)",
"components": [
{"name": "carbon monoxide", "formula": "CO", "state": "g"},
{"name": "dihydrogen monoxide", "formula": "H2O", "state": "g"},
{"name": "carbon dioxide", "formula": "CO2", "state": "g"},
{"name": "dihydrogen", "formula": "H2", "state": "g"}
],
"temperature": {
"value": 398.15,
"unit": "K"
},
"source": "database",
"component_key": "Name-Formula",
"nasa_type": "nasa9"
}
}calc_Keq_vh_shortcut でバントホフショートカット推定が要求された場合も、同じ反応リクエスト形式を使用します。これは無次元の平衡定数を返します。
レスポンスは以下の契約に従います:
{
"success": true,
"message": "H_T completed successfully.",
"results": {
"operation": "H_T",
"value": 0.0,
"unit": "J/mol"
},
"analysis": {
"source": "database"
},
"warnings": []
}✅ ベストプラクティス
サポートされている
g、l、s相の NASA-9 データには、最初にsource: "database"を使用してください。source: "reference"は、完全に外部で準備されたreference_contentがある場合にのみ使用してください。この MCP サーバーに外部の科学データを検索するよう依頼しないでください。
温度入力はケルビンで指定してください。
すべての反応種が反応式と
componentsの両方に含まれていることを確認してください。データベースソースでは
nasa_type: "nasa9"を使用してください。結果を報告する前に、
success、message、warningsを確認してください。
🧪 開発クイックチェック
python -m py_compile pythermocalcdb_nasa_mcp/server.py
python -m py_compile pythermocalcdb_nasa_mcp/interface/core.py
python -m py_compile pythermocalcdb_nasa_mcp/models/nasa.py
python -m unittest discover tests🚀 例
ペイロードの例は examples/request_payloads.py にあります。
📄 ライセンス
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳しくは LICENSE をご覧ください。
👤 作者
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables AI assistants to perform complex chemical engineering calculations including thermodynamic modeling, equation of state calculations, phase equilibrium computations, and vapor-liquid equilibrium analysis. Built on the MoziChem framework to bridge AI language models with specialized chemical engineering tools.64MIT
- Alicense-qualityDmaintenanceA collection of MCP servers for chemical engineering and chemistry applications, enabling AI assistants to perform thermodynamic calculations, equation of state modeling, and phase equilibrium computations.MIT
- Alicense-qualityDmaintenanceA modular Python toolkit exposing chemical engineering calculations (thermodynamics, flash equilibria, property databases) as MCP servers for AI and application integration.6MIT
- AlicenseAqualityBmaintenanceAn MCP server that wraps Cantera to enable LLMs to perform accurate thermodynamic, transport, equilibrium, and chemical kinetics calculations.154MIT
Related MCP Connectors
Science MCP — free science data APIs
Materials MCP — computed (DFT) materials structures & thermodynamic properties.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/sinagilassi/PyThermoCalcDB-NASA-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server