gnnepcsaft-mcp-server 0.1.2__py3-none-any.whl → 0.2.3__py3-none-any.whl

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.

@@ -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
  Metadata-Version: 2.3
2
2
  Name: gnnepcsaft-mcp-server
3
- Version: 0.1.2
3
+ Version: 0.2.3
4
4
  Summary: Model Context Protocol server for GNNePCSAFT tools
5
5
  License: GNU General Public License v3.0
6
6
  Author: wildsonbbl
@@ -25,14 +25,15 @@ Description-Content-Type: text/markdown
25
25
 
26
26
  ## Overview
27
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 models and clients using the MCP protocol.
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
29
 
30
30
  ## Features
31
31
 
32
- - Model context management
33
- - Protocol handling for model communication
34
- - Client request processing
35
- - Context state synchronization
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
36
37
 
37
38
  ## Installation
38
39
 
@@ -40,7 +41,13 @@ You're gonna need [uvx](https://docs.astral.sh/uv/).
40
41
 
41
42
  ## Usage
42
43
 
43
- stdio config to start the MCP server:
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:
44
51
 
45
52
  ```json
46
53
  {
@@ -0,0 +1,11 @@
1
+ gnnepcsaft_mcp_server/__init__.py,sha256=Npbt9RPLtKrFDK-oeyrAbz0b7lg9Y1Le1mxAQVtD_PY,24
2
+ gnnepcsaft_mcp_server/mcp_server.py,sha256=bjxUDiRu5mZFWuqwRuPsy1l-LHQNt_kW_wxjNEnp444,1146
3
+ gnnepcsaft_mcp_server/models/.gitignore,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ gnnepcsaft_mcp_server/models/assoc_8.onnx,sha256=dYSYGfCq-8TNmM2qamhFfGAhtCTPVCbYHBbapwBOTMA,7510456
5
+ gnnepcsaft_mcp_server/models/msigmae_7.onnx,sha256=cP42XuaH_auXsVl4iUuv5J4nMdGXf6V3KkIr8wY5epw,11255526
6
+ gnnepcsaft_mcp_server/plot_utils.py,sha256=-iUZy-54bF1Sv-5Nuug4DjOACI7KA97YxiizJKK_E0E,786
7
+ gnnepcsaft_mcp_server/utils.py,sha256=6NJ5lB4q-EjC1KXBKXXBPQ4qtVCZcjvR82I2lD06hIk,9916
8
+ gnnepcsaft_mcp_server-0.2.3.dist-info/METADATA,sha256=VqXDWRsQ8WAWcnQ0jLYvpDuW9qy8q1xlXgILu43QMoE,2313
9
+ gnnepcsaft_mcp_server-0.2.3.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
10
+ gnnepcsaft_mcp_server-0.2.3.dist-info/entry_points.txt,sha256=5tsnxZG8Vtdrr3CT-8Pv35RjpcDiR0L28cYxxHeCsPI,70
11
+ gnnepcsaft_mcp_server-0.2.3.dist-info/RECORD,,
@@ -1,12 +0,0 @@
1
- gnnepcsaft_mcp_server/__init__.py,sha256=Npbt9RPLtKrFDK-oeyrAbz0b7lg9Y1Le1mxAQVtD_PY,24
2
- gnnepcsaft_mcp_server/mcp_server.py,sha256=XUM9ir7RvJA8npgIlo7n8J1ZhnQzDslGnsxwOnItbEo,1085
3
- gnnepcsaft_mcp_server/models/.gitignore,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
- gnnepcsaft_mcp_server/models/assoc_8.onnx,sha256=FBSU3cP1NyelkwCtLaWVhaeX8QuzQGp6Mf3lSV97mzE,2287889
5
- gnnepcsaft_mcp_server/models/assoc_8.onnx.data,sha256=AMg5VrBZi1F-kZ_YAQay_BDaQQtbs8ihfn4BgWbYzeM,11468800
6
- gnnepcsaft_mcp_server/models/msigmae_7.onnx,sha256=TiKHrwBbNPyoOeeRQ_W_xnEqEtopmI_FIBtZJyN4afk,2288073
7
- gnnepcsaft_mcp_server/models/msigmae_7.onnx.data,sha256=kExPbT75jMLRAYRQQZ8WPeY0rYvAfDZx-Bnji_dLJ1s,11469056
8
- gnnepcsaft_mcp_server/utils.py,sha256=6NJ5lB4q-EjC1KXBKXXBPQ4qtVCZcjvR82I2lD06hIk,9916
9
- gnnepcsaft_mcp_server-0.1.2.dist-info/METADATA,sha256=juIntwbiIW1lwI5vTYLl7QcGUXCkCBlcf8ffKVDSCAU,1653
10
- gnnepcsaft_mcp_server-0.1.2.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
11
- gnnepcsaft_mcp_server-0.1.2.dist-info/entry_points.txt,sha256=5tsnxZG8Vtdrr3CT-8Pv35RjpcDiR0L28cYxxHeCsPI,70
12
- gnnepcsaft_mcp_server-0.1.2.dist-info/RECORD,,