Skip to main content
Glama
sinagilassi

PyThermoCalcDB-NASA-MCP

by sinagilassi

🧪 PyThermoCalcDB-NASA-MCP

PyPI Downloads PyPI Python Version License MCP

PyThermoCalcDB-NASA-MCP — это сервер протокола контекста модели (Model Context Protocol) для выполнения выбранных термодинамических расчётов pythermocalcdb-nasa из агентов и клиентов, совместимых с MCP.

🌐 Обзор

Пакет MCP является интерфейсным и оркестрационным слоем. Он проверяет структурированные запросы, создаёт ModelSource, вызывает детерминированные функции pythermocalcdb-nasa и возвращает результаты в формате, безопасном для JSON. Он не реализует сам научный расчёт.

Рабочий процесс по умолчанию использует встроенную базу данных NASA-9 SQLite, включённую в pythermocalcdb-nasa. Если компонент недоступен локально, сервер MCP возвращает структурированную ошибку. Поиск внешних данных не входит в обязанности этого сервера MCP; другой агент или вызывающая сторона должны подготовить полное содержимое REFERENCE для pyThermoDB и вызвать инструмент с параметром source: "reference".

Используйте этот пакет для:

  • Расчёта H_T, S_T, G_T и Cp_T для одного компонента.

  • Расчёта dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq и Keq_vh_shortcut для реакций.

  • Проверки предварительно подготовленного содержимого YAML-ссылок pyThermoDB.

Related MCP server: MoziChem-MCP

📦 Установка

pip install pythermocalcdb-nasa-mcp

Для локальной разработки:

uv sync

▶️ Запуск

STDIO — транспорт по умолчанию:

pythermocalcdb-nasa-mcp --mode stdio

Также поддерживается HTTP-транспорт:

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 Inspector

Вы можете протестировать сервер с помощью официального MCP Inspector.

Для прямого тестирования STDIO из локальной копии:

npx @modelcontextprotocol/inspector uv run pythermocalcdb-nasa-mcp --mode stdio

Для HTTP-тестирования сначала запустите сервер:

uv run pythermocalcdb-nasa-mcp --mode http --host 127.0.0.1 --port 8000 --path /mcp

Затем подключите Inspector к:

http://127.0.0.1:8000/mcp

📚 Ресурсы MCP

  • pythermocalcdb-nasa://references/nasa-requirements

    • Политика источников, символы NASA, единицы измерения, температурные диапазоны и границы агента.

  • pythermocalcdb-nasa://workflows/species-properties

    • Рабочий процесс для H_T, S_T, G_T и Cp_T.

  • pythermocalcdb-nasa://workflows/reaction-properties

    • Рабочий процесс для dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq и Keq_vh_shortcut.

  • pythermocalcdb-nasa://guidance/agent-checklist

    • Контрольный список для надёжных вызовов с использованием базы данных и ссылок.

🧰 Инструменты MCP

🔥 Инструменты для веществ:

  • calc_H_T

  • calc_S_T

  • calc_G_T

  • calc_Cp_T

⚗️ Инструменты для реакций:

  • calc_dH_rxn_STD

  • calc_dS_rxn_STD

  • calc_dG_rxn_STD

  • calc_Keq

  • calc_Keq_vh_shortcut

🛠️ Вспомогательный инструмент:

  • check_yaml_reference

📝 Примечания к модели входных данных

Инструменты расчёта получают один аргумент Pydantic с именем request. Они используют общие доменные модели из 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": []
}

✅ Рекомендации

  • Сначала используйте source: "database" для данных NASA-9 в поддерживаемых фазах g, l и s.

  • Используйте 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.

👤 Автор

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    6
    4
    MIT
  • A
    license
    -
    quality
    D
    maintenance
    A 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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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