gnnepcsaft-mcp-server 0.1.3__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of gnnepcsaft-mcp-server might be problematic. Click here for more details.
- gnnepcsaft_mcp_server-0.3.0/PKG-INFO +100 -0
- gnnepcsaft_mcp_server-0.3.0/README.md +76 -0
- {gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/mcp_server.py +2 -0
- gnnepcsaft_mcp_server-0.3.0/gnnepcsaft_mcp_server/models/assoc_8.onnx +0 -0
- gnnepcsaft_mcp_server-0.3.0/gnnepcsaft_mcp_server/models/msigmae_7.onnx +0 -0
- gnnepcsaft_mcp_server-0.3.0/gnnepcsaft_mcp_server/plot_utils.py +28 -0
- {gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/pyproject.toml +2 -2
- gnnepcsaft_mcp_server-0.1.3/PKG-INFO +0 -66
- gnnepcsaft_mcp_server-0.1.3/README.md +0 -42
- gnnepcsaft_mcp_server-0.1.3/gnnepcsaft_mcp_server/models/assoc_8.onnx +0 -0
- gnnepcsaft_mcp_server-0.1.3/gnnepcsaft_mcp_server/models/assoc_8.onnx.data +0 -0
- gnnepcsaft_mcp_server-0.1.3/gnnepcsaft_mcp_server/models/msigmae_7.onnx +0 -0
- gnnepcsaft_mcp_server-0.1.3/gnnepcsaft_mcp_server/models/msigmae_7.onnx.data +0 -0
- {gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/__init__.py +0 -0
- {gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/models/.gitignore +0 -0
- {gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/utils.py +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: gnnepcsaft-mcp-server
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Model Context Protocol server for GNNePCSAFT tools
|
|
5
|
+
License: GNU General Public License v3.0
|
|
6
|
+
Author: wildsonbbl
|
|
7
|
+
Author-email: wil_bbl@hotmail.com
|
|
8
|
+
Requires-Python: >=3.10
|
|
9
|
+
Classifier: License :: Other/Proprietary License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Requires-Dist: feos (>=0.8.0,<0.9.0)
|
|
16
|
+
Requires-Dist: gnnepcsaft (>=0.2.4)
|
|
17
|
+
Requires-Dist: mcp (>=1.6.0,<2.0.0)
|
|
18
|
+
Requires-Dist: numpy (>=2.2.4,<3.0.0)
|
|
19
|
+
Requires-Dist: onnxruntime (>=1.21.0,<2.0.0)
|
|
20
|
+
Requires-Dist: rdkit (>=2024.9.6,<2025.0.0)
|
|
21
|
+
Requires-Dist: si-units (>=0.11.0,<0.12.0)
|
|
22
|
+
Description-Content-Type: text/markdown
|
|
23
|
+
|
|
24
|
+
# GNNEPCSAFT MCP Server
|
|
25
|
+
|
|
26
|
+
## What is GNNEPCSAFT MCP Server?
|
|
27
|
+
|
|
28
|
+
GNNEPCSAFT MCP Server is an implementation of the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) for [GNNePCSAFT](https://github.com/wildsonbbl/gnnepcsaft) tools. It enables seamless communication and context management between large language models (LLMs) and clients for advanced thermodynamic calculations. GNNePCSAFT leverages Graph Neural Networks (GNNs) to estimate [ePC-SAFT](https://en.wikipedia.org/wiki/PC-SAFT) parameters, allowing property predictions such as density and vapor pressure for any molecule, even without experimental data. [FeOS](https://github.com/feos-org/feos) is used for PC-SAFT calculations.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Key Features
|
|
33
|
+
|
|
34
|
+
- **Estimate ePC-SAFT parameters** using GNNs
|
|
35
|
+
- **Calculate density, vapor pressure, enthalpy of vaporization, critical points, and others**
|
|
36
|
+
- **Support for pure components and mixtures**
|
|
37
|
+
- **Automatic data collection from PubChem** for any molecule
|
|
38
|
+
- **Designed for thermodynamics-aware LLMs**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## How to Use
|
|
43
|
+
|
|
44
|
+
### Installation
|
|
45
|
+
|
|
46
|
+
You need [uvx](https://docs.astral.sh/uv/) installed.
|
|
47
|
+
|
|
48
|
+
### Starting the Server
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
uvx --from gnnepcsaft-mcp-server gnnepcsaftmcp
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Example: Claude Desktop Configuration
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"gnnepcsaft": {
|
|
60
|
+
"command": "uvx",
|
|
61
|
+
"args": ["--from", "gnnepcsaft-mcp-server", "gnnepcsaftmcp"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Use Cases
|
|
70
|
+
|
|
71
|
+
- Predicting thermodynamic properties for new or existing molecules
|
|
72
|
+
- Running property calculations for mixtures in research or industry
|
|
73
|
+
- Integrating with LLMs for chemistry and materials science applications
|
|
74
|
+
- Automating data collection and property estimation in pipelines
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## FAQ
|
|
79
|
+
|
|
80
|
+
**Q: What do I need to run the server?**
|
|
81
|
+
A: You need Python, [uvx](https://docs.astral.sh/uv/), and the GNNEPCSAFT MCP Server package.
|
|
82
|
+
|
|
83
|
+
**Q: Can I use this for mixtures as well as pure components?**
|
|
84
|
+
A: Yes, the server supports both pure components and mixtures.
|
|
85
|
+
|
|
86
|
+
**Q: Where does the molecular data come from?**
|
|
87
|
+
A: The server can automatically fetch molecular information from PubChem.
|
|
88
|
+
|
|
89
|
+
**Q: What calculations are supported?**
|
|
90
|
+
A: Density, vapor pressure, enthalpy of vaporization, critical points, and ePC-SAFT parameter estimation.
|
|
91
|
+
|
|
92
|
+
**Q: Is this open source?**
|
|
93
|
+
A: Yes, it is licensed under the GNU General Public License v3.0.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
GNU General Public License v3.0
|
|
100
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# GNNEPCSAFT MCP Server
|
|
2
|
+
|
|
3
|
+
## What is GNNEPCSAFT MCP Server?
|
|
4
|
+
|
|
5
|
+
GNNEPCSAFT MCP Server is an implementation of the [Model Context Protocol (MCP)](https://modelcontextprotocol.io/introduction) for [GNNePCSAFT](https://github.com/wildsonbbl/gnnepcsaft) tools. It enables seamless communication and context management between large language models (LLMs) and clients for advanced thermodynamic calculations. GNNePCSAFT leverages Graph Neural Networks (GNNs) to estimate [ePC-SAFT](https://en.wikipedia.org/wiki/PC-SAFT) parameters, allowing property predictions such as density and vapor pressure for any molecule, even without experimental data. [FeOS](https://github.com/feos-org/feos) is used for PC-SAFT calculations.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Key Features
|
|
10
|
+
|
|
11
|
+
- **Estimate ePC-SAFT parameters** using GNNs
|
|
12
|
+
- **Calculate density, vapor pressure, enthalpy of vaporization, critical points, and others**
|
|
13
|
+
- **Support for pure components and mixtures**
|
|
14
|
+
- **Automatic data collection from PubChem** for any molecule
|
|
15
|
+
- **Designed for thermodynamics-aware LLMs**
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## How to Use
|
|
20
|
+
|
|
21
|
+
### Installation
|
|
22
|
+
|
|
23
|
+
You need [uvx](https://docs.astral.sh/uv/) installed.
|
|
24
|
+
|
|
25
|
+
### Starting the Server
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uvx --from gnnepcsaft-mcp-server gnnepcsaftmcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Example: Claude Desktop Configuration
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"mcpServers": {
|
|
36
|
+
"gnnepcsaft": {
|
|
37
|
+
"command": "uvx",
|
|
38
|
+
"args": ["--from", "gnnepcsaft-mcp-server", "gnnepcsaftmcp"]
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Use Cases
|
|
47
|
+
|
|
48
|
+
- Predicting thermodynamic properties for new or existing molecules
|
|
49
|
+
- Running property calculations for mixtures in research or industry
|
|
50
|
+
- Integrating with LLMs for chemistry and materials science applications
|
|
51
|
+
- Automating data collection and property estimation in pipelines
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## FAQ
|
|
56
|
+
|
|
57
|
+
**Q: What do I need to run the server?**
|
|
58
|
+
A: You need Python, [uvx](https://docs.astral.sh/uv/), and the GNNEPCSAFT MCP Server package.
|
|
59
|
+
|
|
60
|
+
**Q: Can I use this for mixtures as well as pure components?**
|
|
61
|
+
A: Yes, the server supports both pure components and mixtures.
|
|
62
|
+
|
|
63
|
+
**Q: Where does the molecular data come from?**
|
|
64
|
+
A: The server can automatically fetch molecular information from PubChem.
|
|
65
|
+
|
|
66
|
+
**Q: What calculations are supported?**
|
|
67
|
+
A: Density, vapor pressure, enthalpy of vaporization, critical points, and ePC-SAFT parameter estimation.
|
|
68
|
+
|
|
69
|
+
**Q: Is this open source?**
|
|
70
|
+
A: Yes, it is licensed under the GNU General Public License v3.0.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
GNU General Public License v3.0
|
{gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/mcp_server.py
RENAMED
|
@@ -4,6 +4,7 @@ from typing import Any, Callable, List
|
|
|
4
4
|
|
|
5
5
|
from mcp.server.fastmcp import FastMCP
|
|
6
6
|
|
|
7
|
+
from .plot_utils import v3000_mol_block
|
|
7
8
|
from .utils import (
|
|
8
9
|
batch_convert_pure_density_to_kg_per_m3,
|
|
9
10
|
batch_critical_points,
|
|
@@ -39,6 +40,7 @@ fn_list: List[Callable[..., Any]] = [
|
|
|
39
40
|
mixture_vapor_pressure,
|
|
40
41
|
pubchem_description,
|
|
41
42
|
pure_phase,
|
|
43
|
+
v3000_mol_block,
|
|
42
44
|
]
|
|
43
45
|
for fn in fn_list:
|
|
44
46
|
mcp.add_tool(fn)
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"plot utils"
|
|
2
|
+
|
|
3
|
+
from rdkit.Chem import AllChem as Chem
|
|
4
|
+
|
|
5
|
+
from .utils import smilestoinchi
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def v3000_mol_block(smiles: str) -> str:
|
|
9
|
+
"""Returns a V3000 Mol block for a molecule.
|
|
10
|
+
|
|
11
|
+
Args:
|
|
12
|
+
smiles (str): SMILES of the molecule.
|
|
13
|
+
|
|
14
|
+
"""
|
|
15
|
+
inchi = smilestoinchi(smiles)
|
|
16
|
+
|
|
17
|
+
mol = Chem.MolFromInchi(inchi)
|
|
18
|
+
mol = Chem.AddHs(mol) # type: ignore
|
|
19
|
+
params = Chem.ETKDGv3() # type: ignore
|
|
20
|
+
params.randomSeed = 0xF00D
|
|
21
|
+
result = Chem.EmbedMolecule(mol, params) # type: ignore
|
|
22
|
+
if result == 0:
|
|
23
|
+
Chem.MMFFOptimizeMolecule( # type: ignore
|
|
24
|
+
mol, maxIters=1000, nonBondedThresh=100, ignoreInterfragInteractions=False
|
|
25
|
+
)
|
|
26
|
+
# mol = Chem.RemoveHs(mol, implicitOnly=False)
|
|
27
|
+
imgmol = Chem.MolToV3KMolBlock(mol) # type: ignore
|
|
28
|
+
return imgmol
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "gnnepcsaft-mcp-server"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.3.0"
|
|
4
4
|
description = "Model Context Protocol server for GNNePCSAFT tools"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "wildsonbbl",email = "wil_bbl@hotmail.com"}
|
|
@@ -22,7 +22,7 @@ dependencies = [
|
|
|
22
22
|
gnnepcsaftmcp = 'gnnepcsaft_mcp_server.mcp_server:run'
|
|
23
23
|
|
|
24
24
|
[tool.poetry]
|
|
25
|
-
include = ["gnnepcsaft_mcp_server/models/assoc_8.onnx", "gnnepcsaft_mcp_server/models/
|
|
25
|
+
include = ["gnnepcsaft_mcp_server/models/assoc_8.onnx", "gnnepcsaft_mcp_server/models/msigmae_7.onnx"]
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.3
|
|
2
|
-
Name: gnnepcsaft-mcp-server
|
|
3
|
-
Version: 0.1.3
|
|
4
|
-
Summary: Model Context Protocol server for GNNePCSAFT tools
|
|
5
|
-
License: GNU General Public License v3.0
|
|
6
|
-
Author: wildsonbbl
|
|
7
|
-
Author-email: wil_bbl@hotmail.com
|
|
8
|
-
Requires-Python: >=3.10
|
|
9
|
-
Classifier: License :: Other/Proprietary License
|
|
10
|
-
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
-
Requires-Dist: feos (>=0.8.0,<0.9.0)
|
|
16
|
-
Requires-Dist: gnnepcsaft (>=0.2.4)
|
|
17
|
-
Requires-Dist: mcp (>=1.6.0,<2.0.0)
|
|
18
|
-
Requires-Dist: numpy (>=2.2.4,<3.0.0)
|
|
19
|
-
Requires-Dist: onnxruntime (>=1.21.0,<2.0.0)
|
|
20
|
-
Requires-Dist: rdkit (>=2024.9.6,<2025.0.0)
|
|
21
|
-
Requires-Dist: si-units (>=0.11.0,<0.12.0)
|
|
22
|
-
Description-Content-Type: text/markdown
|
|
23
|
-
|
|
24
|
-
# GNNEPCSAFT MCP Server
|
|
25
|
-
|
|
26
|
-
## Overview
|
|
27
|
-
|
|
28
|
-
This is the Model Context Protocol ([MCP](https://modelcontextprotocol.io/introduction)) server implementation for [GNNePCSAFT](https://github.com/wildsonbbl/gnnepcsaft) tools. The server handles communication and context management between LLM models and clients using the MCP protocol. GNNePCSAFT is a Graph Neural Network ([GNN](https://en.wikipedia.org/wiki/Graph_neural_network)) that can estimate [ePC-SAFT](https://en.wikipedia.org/wiki/PC-SAFT) parameters. This allows thermodynamic calculations like density and vapor pressure without experimental data for any molecule. [FeOS](https://github.com/feos-org/feos) is used for the PC-SAFT calculations.
|
|
29
|
-
|
|
30
|
-
## Features
|
|
31
|
-
|
|
32
|
-
- Calculates density, vapor pressure, enthalpy of vaporization and critical points
|
|
33
|
-
- Estimates ePC-SAFT parameters
|
|
34
|
-
- Thermodynamic calculations for pure components and mixtures
|
|
35
|
-
- Collects information from PubChem, if any, for any molecule
|
|
36
|
-
- Allows thermodynamics-aware LLMs
|
|
37
|
-
|
|
38
|
-
## Installation
|
|
39
|
-
|
|
40
|
-
You're gonna need [uvx](https://docs.astral.sh/uv/).
|
|
41
|
-
|
|
42
|
-
## Usage
|
|
43
|
-
|
|
44
|
-
The command to start the server would be:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
uvx --from gnnepcsaft-mcp-server gnnepcsaftmcp
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
[Claude Desktop](https://claude.ai/download) config to start the MCP server:
|
|
51
|
-
|
|
52
|
-
```json
|
|
53
|
-
{
|
|
54
|
-
"mcpServers": {
|
|
55
|
-
"gnnepcsaft": {
|
|
56
|
-
"command": "uvx",
|
|
57
|
-
"args": ["--from", "gnnepcsaft-mcp-server", "gnnepcsaftmcp"]
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
## License
|
|
64
|
-
|
|
65
|
-
GNU General Public License v3.0
|
|
66
|
-
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# GNNEPCSAFT MCP Server
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This is the Model Context Protocol ([MCP](https://modelcontextprotocol.io/introduction)) server implementation for [GNNePCSAFT](https://github.com/wildsonbbl/gnnepcsaft) tools. The server handles communication and context management between LLM models and clients using the MCP protocol. GNNePCSAFT is a Graph Neural Network ([GNN](https://en.wikipedia.org/wiki/Graph_neural_network)) that can estimate [ePC-SAFT](https://en.wikipedia.org/wiki/PC-SAFT) parameters. This allows thermodynamic calculations like density and vapor pressure without experimental data for any molecule. [FeOS](https://github.com/feos-org/feos) is used for the PC-SAFT calculations.
|
|
6
|
-
|
|
7
|
-
## Features
|
|
8
|
-
|
|
9
|
-
- Calculates density, vapor pressure, enthalpy of vaporization and critical points
|
|
10
|
-
- Estimates ePC-SAFT parameters
|
|
11
|
-
- Thermodynamic calculations for pure components and mixtures
|
|
12
|
-
- Collects information from PubChem, if any, for any molecule
|
|
13
|
-
- Allows thermodynamics-aware LLMs
|
|
14
|
-
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
You're gonna need [uvx](https://docs.astral.sh/uv/).
|
|
18
|
-
|
|
19
|
-
## Usage
|
|
20
|
-
|
|
21
|
-
The command to start the server would be:
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
uvx --from gnnepcsaft-mcp-server gnnepcsaftmcp
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
[Claude Desktop](https://claude.ai/download) config to start the MCP server:
|
|
28
|
-
|
|
29
|
-
```json
|
|
30
|
-
{
|
|
31
|
-
"mcpServers": {
|
|
32
|
-
"gnnepcsaft": {
|
|
33
|
-
"command": "uvx",
|
|
34
|
-
"args": ["--from", "gnnepcsaft-mcp-server", "gnnepcsaftmcp"]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## License
|
|
41
|
-
|
|
42
|
-
GNU General Public License v3.0
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
{gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/__init__.py
RENAMED
|
File without changes
|
{gnnepcsaft_mcp_server-0.1.3 → gnnepcsaft_mcp_server-0.3.0}/gnnepcsaft_mcp_server/models/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|