Skip to main content
Glama
sinagilassi

PyThermoCalcDB-NASA-MCP

by sinagilassi

🧪 PyThermoCalcDB-NASA-MCP

PyPI Downloads PyPI Python Version License MCP

PyThermoCalcDB-NASA-MCP ist ein Model Context Protocol-Server zur Ausführung ausgewählter thermodynamischer Berechnungen von pythermocalcdb-nasa aus Agenten und MCP-kompatiblen Clients.

🌐 Übersicht

Das MCP-Paket ist eine Schnittstellen- und Orchestrierungsschicht. Es validiert strukturierte Anfragen, erstellt eine ModelSource, ruft deterministische pythermocalcdb-nasa-Funktionen auf und gibt JSON-sichere Ergebnisse zurück. Es implementiert nicht die wissenschaftliche Berechnung selbst.

Der Standard-Quellworkflow verwendet die eingebettete NASA-9 SQLite-Datenbank, die von pythermocalcdb-nasa bereitgestellt wird. Wenn eine Komponente lokal nicht verfügbar ist, gibt der MCP-Server einen strukturierten Fehler zurück. Die externe Datensuche liegt nicht in der Verantwortung dieses MCP-Servers; ein anderer Agent oder Aufrufer sollte vollständige pyThermoDB REFERENCE-Inhalte vorbereiten und das Tool mit source: "reference" aufrufen.

Verwenden Sie dieses Paket, um:

  • H_T, S_T, G_T und Cp_T für eine Komponente zu berechnen.

  • dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq und Keq_vh_shortcut für Reaktionen zu berechnen.

  • Extern vorbereitete pyThermoDB YAML-Referenzinhalte zu validieren.

Related MCP server: MoziChem-MCP

📦 Installation

pip install pythermocalcdb-nasa-mcp

Für die lokale Entwicklung:

uv sync

▶️ Ausführung

STDIO ist der Standardtransport:

pythermocalcdb-nasa-mcp --mode stdio

HTTP-Transport wird ebenfalls unterstützt:

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

Aus einem lokalen Checkout:

uv run pythermocalcdb-nasa-mcp --mode stdio

🔌 MCP-Client-Konfiguration

🧵 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

Sie können den Server mit dem offiziellen MCP Inspector testen.

Für direkte STDIO-Tests aus einem lokalen Checkout:

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

Für HTTP-Tests starten Sie zuerst den Server:

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

Verbinden Sie dann den Inspector mit:

http://127.0.0.1:8000/mcp

📚 MCP-Ressourcen

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

    • Quellrichtlinie, NASA-Symbole, Einheiten, Temperaturbereiche und Agentengrenzen.

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

    • Workflow für H_T, S_T, G_T und Cp_T.

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

    • Workflow für dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq und Keq_vh_shortcut.

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

    • Checkliste für zuverlässige datenbankgestützte und referenzgestützte Aufrufe.

🧰 MCP-Tools

🔥 Arten-Tools:

  • calc_H_T

  • calc_S_T

  • calc_G_T

  • calc_Cp_T

⚗️ Reaktions-Tools:

  • calc_dH_rxn_STD

  • calc_dS_rxn_STD

  • calc_dG_rxn_STD

  • calc_Keq

  • calc_Keq_vh_shortcut

🛠️ Dienstprogramm-Tool:

  • check_yaml_reference

📝 Hinweise zu Eingabemodellen

Berechnungstools erhalten ein Pydantic-Argument namens request. Sie verwenden gemeinsame Domänenmodelle aus pythermodb_settings, einschließlich Component, Temperature und ComponentKey.

🗄️ Datenbankgestützte Artenanfrage:

{
  "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"
  }
}

📄 Referenzgestützte Artenanfrage:

{
  "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"
  }
}

🗄️ Datenbankgestützte Reaktionsanfrage:

{
  "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"
  }
}

Verwenden Sie die gleiche Reaktionsanfrageform mit calc_Keq_vh_shortcut, wenn eine van't-Hoff-Kurzschätzung angefordert wird. Sie gibt eine dimensionslose Gleichgewichtskonstante zurück.

Antworten folgen diesem Vertrag:

{
  "success": true,
  "message": "H_T completed successfully.",
  "results": {
    "operation": "H_T",
    "value": 0.0,
    "unit": "J/mol"
  },
  "analysis": {
    "source": "database"
  },
  "warnings": []
}

✅ Best Practices

  • Verwenden Sie zuerst source: "database" für NASA-9-Daten in unterstützten Phasen g, l und s.

  • Verwenden Sie source: "reference" nur mit vollständig extern vorbereitetem reference_content.

  • Bitten Sie diesen MCP-Server nicht, externe wissenschaftliche Daten zu durchsuchen.

  • Halten Sie Temperatureingaben in Kelvin.

  • Stellen Sie sicher, dass jede Reaktionsspezies sowohl in der Reaktionsgleichung als auch in components erscheint.

  • Verwenden Sie nasa_type: "nasa9" mit der Datenbankquelle.

  • Überprüfen Sie success, message und warnings, bevor Sie Ergebnisse melden.

🧪 Entwicklungsschnelltest

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

🚀 Beispiele

Beispiel-Payload-Formen sind in examples/request_payloads.py verfügbar.

📄 Lizenz

Dieses Projekt ist unter der Apache License 2.0 lizenziert. Siehe LICENSE.

👤 Autor

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