Skip to main content
Glama
sinagilassi

PyThermoCalcDB-NASA-MCP

by sinagilassi

🧪 PyThermoCalcDB-NASA-MCP

Descargas PyPI PyPI Versión de Python Licencia MCP

PyThermoCalcDB-NASA-MCP es un servidor del Protocolo de Contexto de Modelo para ejecutar cálculos termodinámicos seleccionados de pythermocalcdb-nasa desde agentes y clientes compatibles con MCP.

🌐 Resumen

El paquete MCP es una capa de interfaz y orquestación. Valida solicitudes estructuradas, construye un ModelSource, llama a funciones deterministas de pythermocalcdb-nasa y devuelve resultados seguros para JSON. No implementa el cálculo científico en sí mismo.

El flujo de trabajo de origen predeterminado utiliza la base de datos SQLite NASA-9 incorporada incluida por pythermocalcdb-nasa. Si un componente no está disponible localmente, el servidor MCP devuelve un fallo estructurado. La búsqueda de datos externos no es responsabilidad de este servidor MCP; otro agente o llamante debe preparar el contenido completo de REFERENCE de pyThermoDB y llamar a la herramienta con source: "reference".

Utilice este paquete para:

  • Calcular H_T, S_T, G_T y Cp_T para un componente.

  • Calcular dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq y Keq_vh_shortcut para reacciones.

  • Validar el contenido de referencia YAML de pyThermoDB preparado externamente.

Related MCP server: MoziChem-MCP

📦 Instalación

pip install pythermocalcdb-nasa-mcp

Para desarrollo local:

uv sync

▶️ Ejecución

STDIO es el transporte predeterminado:

pythermocalcdb-nasa-mcp --mode stdio

El transporte HTTP también es compatible:

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

Desde una copia local:

uv run pythermocalcdb-nasa-mcp --mode stdio

🔌 Configuración del Cliente MCP

🧵 STDIO:

{
  "mcpServers": {
    "pythermocalcdb-nasa": {
      "command": "pythermocalcdb-nasa-mcp",
      "args": ["--mode", "stdio"]
    }
  }
}

🌍 HTTP:

{
  "mcpServers": {
    "pythermocalcdb-nasa": {
      "url": "http://127.0.0.1:8000/mcp"
    }
  }
}

🕵️ Inspector MCP

Puede probar el servidor con el Inspector MCP oficial.

Para pruebas directas de STDIO desde una copia local:

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

Para pruebas HTTP, inicie el servidor primero:

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

Luego conecte Inspector a:

http://127.0.0.1:8000/mcp

📚 Recursos MCP

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

    • Política de origen, símbolos NASA, unidades, rangos de temperatura y límites del agente.

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

    • Flujo de trabajo para H_T, S_T, G_T y Cp_T.

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

    • Flujo de trabajo para dH_rxn_STD, dS_rxn_STD, dG_rxn_STD, Keq y Keq_vh_shortcut.

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

    • Lista de verificación para llamadas confiables basadas en base de datos y respaldadas por referencia.

🧰 Herramientas MCP

🔥 Herramientas de especies:

  • calc_H_T

  • calc_S_T

  • calc_G_T

  • calc_Cp_T

⚗️ Herramientas de reacción:

  • calc_dH_rxn_STD

  • calc_dS_rxn_STD

  • calc_dG_rxn_STD

  • calc_Keq

  • calc_Keq_vh_shortcut

🛠️ Herramienta de utilidad:

  • check_yaml_reference

📝 Notas sobre el Modelo de Entrada

Las herramientas de cálculo reciben un único argumento Pydantic llamado request. Utilizan modelos de dominio compartidos de pythermodb_settings, que incluyen Component, Temperature y ComponentKey.

🗄️ Solicitud de especies respaldada por base de datos:

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

📄 Solicitud de especies respaldada por referencia:

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

🗄️ Solicitud de reacción respaldada por base de datos:

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

Utilice la misma forma de solicitud de reacción con calc_Keq_vh_shortcut cuando se solicite una estimación abreviada de van't Hoff. Devuelve una constante de equilibrio adimensional.

Las respuestas siguen este contrato:

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

✅ Buenas Prácticas

  • Utilice source: "database" primero para datos NASA-9 en fases compatibles g, l y s.

  • Utilice source: "reference" solo con reference_content externo preparado completo.

  • No solicite a este servidor MCP que busque datos científicos externos.

  • Mantenga las entradas de temperatura en Kelvin.

  • Asegúrese de que cada especie de reacción aparezca tanto en la ecuación de reacción como en components.

  • Utilice nasa_type: "nasa9" con la fuente de base de datos.

  • Verifique success, message y warnings antes de informar resultados.

🧪 Verificación Rápida de Desarrollo

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

🚀 Ejemplos

Hay formas de ejemplo de cargas útiles disponibles en examples/request_payloads.py.

📄 Licencia

Este proyecto está licenciado bajo la Licencia Apache 2.0. Consulte 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