rowan-mcp 1.0.0__py3-none-any.whl → 1.0.2__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 rowan-mcp might be problematic. Click here for more details.
- rowan_mcp/__init__.py +1 -1
- rowan_mcp/functions/conformers.py +3 -58
- rowan_mcp/functions/electronic_properties.py +2 -60
- rowan_mcp/functions/fukui.py +36 -172
- rowan_mcp/functions/macropka.py +4 -79
- rowan_mcp/functions/molecule_lookup.py +40 -429
- rowan_mcp/functions/pka.py +4 -53
- {rowan_mcp-1.0.0.dist-info → rowan_mcp-1.0.2.dist-info}/METADATA +40 -50
- {rowan_mcp-1.0.0.dist-info → rowan_mcp-1.0.2.dist-info}/RECORD +11 -12
- rowan_mcp/functions/molecule_cache.db +0 -0
- {rowan_mcp-1.0.0.dist-info → rowan_mcp-1.0.2.dist-info}/WHEEL +0 -0
- {rowan_mcp-1.0.0.dist-info → rowan_mcp-1.0.2.dist-info}/entry_points.txt +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rowan-mcp
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
4
4
|
Summary: Model Context Protocol server for Rowan computational chemistry platform
|
|
5
5
|
Project-URL: Homepage, https://github.com/k-yenko/rowan-mcp
|
|
6
|
-
Author-email: Katherine Yenko <
|
|
6
|
+
Author-email: Katherine Yenko <katherineayenko@gmail.com>
|
|
7
7
|
License: MIT
|
|
8
8
|
Classifier: Development Status :: 3 - Alpha
|
|
9
9
|
Classifier: Intended Audience :: Science/Research
|
|
@@ -32,7 +32,7 @@ Description-Content-Type: text/markdown
|
|
|
32
32
|
|
|
33
33
|
# Rowan MCP Server
|
|
34
34
|
|
|
35
|
-
This project wraps an MCP (Model Context Protocol) around Rowan's tools, making it easy for users to
|
|
35
|
+
This project wraps an MCP (Model Context Protocol) around Rowan's tools, making it easy for users to design molecuels and run simulations in natural everyday language.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
@@ -52,36 +52,17 @@ That's it - no command line setup needed!
|
|
|
52
52
|
|
|
53
53
|
## **Package Installation**
|
|
54
54
|
|
|
55
|
-
### **
|
|
56
|
-
```bash
|
|
57
|
-
# Install the package
|
|
58
|
-
uv add rowan-mcp
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### **Using pip:**
|
|
62
|
-
```bash
|
|
63
|
-
# Install the package
|
|
64
|
-
pip install rowan-mcp
|
|
65
|
-
|
|
66
|
-
# Or in a virtual environment
|
|
67
|
-
python -m venv venv
|
|
68
|
-
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
69
|
-
pip install rowan-mcp
|
|
70
|
-
```
|
|
55
|
+
### **Option 1: Auto-Install (No manual installation needed!)**
|
|
71
56
|
|
|
72
|
-
|
|
57
|
+
Just add this to your MCP configuration and it will automatically install and run:
|
|
73
58
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
2. **Configure your MCP client** (e.g., Claude Code, VSCode, Cursor, etc.):
|
|
77
|
-
|
|
78
|
-
**With uv:**
|
|
59
|
+
**Using uvx (simplest):**
|
|
79
60
|
```json
|
|
80
61
|
{
|
|
81
62
|
"mcpServers": {
|
|
82
63
|
"rowan": {
|
|
83
|
-
"command": "
|
|
84
|
-
"args": ["
|
|
64
|
+
"command": "uvx",
|
|
65
|
+
"args": ["--from", "rowan-mcp", "rowan-mcp"],
|
|
85
66
|
"env": {
|
|
86
67
|
"ROWAN_API_KEY": "your_api_key_here"
|
|
87
68
|
}
|
|
@@ -90,12 +71,13 @@ pip install rowan-mcp
|
|
|
90
71
|
}
|
|
91
72
|
```
|
|
92
73
|
|
|
93
|
-
**
|
|
74
|
+
**Using uv run (alternative):**
|
|
94
75
|
```json
|
|
95
76
|
{
|
|
96
77
|
"mcpServers": {
|
|
97
78
|
"rowan": {
|
|
98
|
-
"command": "
|
|
79
|
+
"command": "uv",
|
|
80
|
+
"args": ["run", "--with", "rowan-mcp", "-m", "rowan_mcp"],
|
|
99
81
|
"env": {
|
|
100
82
|
"ROWAN_API_KEY": "your_api_key_here"
|
|
101
83
|
}
|
|
@@ -104,30 +86,26 @@ pip install rowan-mcp
|
|
|
104
86
|
}
|
|
105
87
|
```
|
|
106
88
|
|
|
107
|
-
### **
|
|
108
|
-
Ask your AI: *"Calculate the pKa of aspirin"* or *"Optimize the geometry of caffeine"*
|
|
109
|
-
|
|
110
|
-
---
|
|
89
|
+
### **Option 2: Manual Installation**
|
|
111
90
|
|
|
112
|
-
|
|
91
|
+
If you prefer to install the package first:
|
|
113
92
|
|
|
114
|
-
**
|
|
93
|
+
**Using uv:**
|
|
94
|
+
```bash
|
|
95
|
+
uv add rowan-mcp
|
|
96
|
+
```
|
|
115
97
|
|
|
116
|
-
|
|
98
|
+
**Using pip:**
|
|
117
99
|
```bash
|
|
118
|
-
|
|
119
|
-
cd rowan-mcp
|
|
120
|
-
uv sync
|
|
100
|
+
pip install rowan-mcp
|
|
121
101
|
```
|
|
122
102
|
|
|
123
|
-
|
|
103
|
+
Then use this configuration:
|
|
124
104
|
```json
|
|
125
105
|
{
|
|
126
106
|
"mcpServers": {
|
|
127
107
|
"rowan": {
|
|
128
|
-
"command": "
|
|
129
|
-
"args": ["run", "python", "-m", "rowan_mcp"],
|
|
130
|
-
"cwd": "/path/to/rowan-mcp",
|
|
108
|
+
"command": "rowan-mcp",
|
|
131
109
|
"env": {
|
|
132
110
|
"ROWAN_API_KEY": "your_api_key_here"
|
|
133
111
|
}
|
|
@@ -136,7 +114,13 @@ uv sync
|
|
|
136
114
|
}
|
|
137
115
|
```
|
|
138
116
|
|
|
139
|
-
|
|
117
|
+
### **Get API Key**
|
|
118
|
+
|
|
119
|
+
Visit [labs.rowansci.com](https://labs.rowansci.com) → Create account → Generate API key
|
|
120
|
+
|
|
121
|
+
### **Start Using**
|
|
122
|
+
|
|
123
|
+
Ask your AI: *"Calculate the pKa of aspirin"* or *"Optimize the geometry of caffeine"*
|
|
140
124
|
|
|
141
125
|
---
|
|
142
126
|
|
|
@@ -155,7 +139,6 @@ Ask the LLM to:
|
|
|
155
139
|
- **Rowan API key** (free at [labs.rowansci.com](https://labs.rowansci.com))
|
|
156
140
|
- **MCP-compatible client** (Claude Desktop, etc.)
|
|
157
141
|
|
|
158
|
-
|
|
159
142
|
**Development commands** (if you cloned the repo):
|
|
160
143
|
```bash
|
|
161
144
|
# Run from source
|
|
@@ -164,7 +147,7 @@ uv run python -m rowan_mcp --http
|
|
|
164
147
|
|
|
165
148
|
---
|
|
166
149
|
|
|
167
|
-
## Available Tools
|
|
150
|
+
## **Available Tools**
|
|
168
151
|
|
|
169
152
|
### Chemistry Calculations
|
|
170
153
|
- `rowan_basic_calculation` - Energy, optimization, frequencies
|
|
@@ -183,7 +166,6 @@ uv run python -m rowan_mcp --http
|
|
|
183
166
|
### Drug Discovery
|
|
184
167
|
- `rowan_admet` - ADME-Tox properties
|
|
185
168
|
|
|
186
|
-
|
|
187
169
|
### Reactivity Analysis
|
|
188
170
|
- `rowan_fukui` - Reactivity sites
|
|
189
171
|
- `rowan_spin_states` - Spin multiplicities
|
|
@@ -192,13 +174,13 @@ uv run python -m rowan_mcp --http
|
|
|
192
174
|
- `rowan_folder_create/list/update/delete` - Organize calculations
|
|
193
175
|
- `rowan_workflow_create/list/status/stop` - Manage workflows
|
|
194
176
|
|
|
195
|
-
## Requirements
|
|
177
|
+
## **Requirements**
|
|
196
178
|
|
|
197
179
|
- Python 3.10+
|
|
198
180
|
- Rowan API key
|
|
199
181
|
- MCP-compatible AI assistant (Claude Desktop, etc.)
|
|
200
182
|
|
|
201
|
-
## Getting Help
|
|
183
|
+
## **Getting Help**
|
|
202
184
|
|
|
203
185
|
- **Documentation**: [docs.rowansci.com](https://docs.rowansci.com/)
|
|
204
186
|
- or ping me!
|
|
@@ -218,7 +200,7 @@ uv run python -m rowan_mcp --http
|
|
|
218
200
|
- [ ] Multistage optimization sometimes shows unexpected imaginary frequencies
|
|
219
201
|
- [ ] Some calculations show as finished in logs but not in Rowan UI
|
|
220
202
|
|
|
221
|
-
## Citation
|
|
203
|
+
## **Citation**
|
|
222
204
|
|
|
223
205
|
If you use this MCP tool in your research, please cite the underlying Rowan platform:
|
|
224
206
|
|
|
@@ -243,3 +225,11 @@ uv publish
|
|
|
243
225
|
# Or publish to TestPyPI first
|
|
244
226
|
uv publish --index-url https://test.pypi.org/simple/
|
|
245
227
|
```
|
|
228
|
+
|
|
229
|
+
To update the dxt file:
|
|
230
|
+
```bash
|
|
231
|
+
# After updating the PyPI package, update all changed tools/functions
|
|
232
|
+
|
|
233
|
+
# Then update the desktop extension
|
|
234
|
+
dxt pack rowan-dxt
|
|
235
|
+
```
|
|
@@ -1,26 +1,25 @@
|
|
|
1
|
-
rowan_mcp/__init__.py,sha256=
|
|
1
|
+
rowan_mcp/__init__.py,sha256=VDEcimR-BO3hPSxH-0R-dDQBCR2AKvWllMBaiVV2Zfc,376
|
|
2
2
|
rowan_mcp/__main__.py,sha256=I7wCpoCPLrCx_tWozFBtCtnoL65lmgDiZnEumj3vijM,388
|
|
3
3
|
rowan_mcp/server.py,sha256=47MsJchxzqRVd4mFQXR81wYXBX8B8fFUkl7wDYB5uMs,7702
|
|
4
4
|
rowan_mcp/functions/admet.py,sha256=m_RD7OJ8GDocEInHw4zOmk4tBf2mWBGTL3LVt-vo_mU,2438
|
|
5
5
|
rowan_mcp/functions/bde.py,sha256=x6Wmnqzy3zRDvSM_AlxSm_0ksg9lI2zV1PiBzXjU_sU,3634
|
|
6
6
|
rowan_mcp/functions/calculation_retrieve.py,sha256=jL28RKvZX3QUeZ_qDlBfLdGG_Lsk6LyA1xjsHvPM-mg,3376
|
|
7
|
-
rowan_mcp/functions/conformers.py,sha256=
|
|
7
|
+
rowan_mcp/functions/conformers.py,sha256=2Bjim0v5xajWykVwRU9YPwtNyqIo6n2wiLDgR2_5wE8,2552
|
|
8
8
|
rowan_mcp/functions/descriptors.py,sha256=HJXsMZmgx-PdqfSe39D0BcMxzRYmR38gt98fXIMc69w,2747
|
|
9
9
|
rowan_mcp/functions/docking.py,sha256=J-bcgig_68x07eCpVPG1ZJKdUFsPVeDuvhoeM9Y9V9I,13954
|
|
10
10
|
rowan_mcp/functions/docking_enhanced.py,sha256=lwviIWg_26VW8VlITIlHd-Lbw8E25tnvNrLfzK6fLJs,5528
|
|
11
|
-
rowan_mcp/functions/electronic_properties.py,sha256=
|
|
11
|
+
rowan_mcp/functions/electronic_properties.py,sha256=hBpUz0lP5ImRS8U8Cqd04tl_vzyoUSl3eP1sHKvG7Yg,8154
|
|
12
12
|
rowan_mcp/functions/folder_management.py,sha256=qPZ6cjC2AFxr1BhXpRsJk2AZAF7GV5ojy6oJDQjYKbw,4874
|
|
13
|
-
rowan_mcp/functions/fukui.py,sha256=
|
|
13
|
+
rowan_mcp/functions/fukui.py,sha256=7uz0kQ-Bt9_m4YXto4BlEJFbAknusnwZlfl67tWrwmg,7750
|
|
14
14
|
rowan_mcp/functions/hydrogen_bond_basicity.py,sha256=xH7czHEF_stKnQoh-F93b8G8936DCTYjkf6nTa7kmKo,3081
|
|
15
15
|
rowan_mcp/functions/irc.py,sha256=ulMfkpVTXoQDwFVzAJRcEbyZpFxM2LucO7Mq-XkgNTs,4096
|
|
16
|
-
rowan_mcp/functions/macropka.py,sha256=
|
|
16
|
+
rowan_mcp/functions/macropka.py,sha256=ze0D8R5-1-FLfOLXNe06I-BUAUKF9CHeWuTYw30sT1s,3985
|
|
17
17
|
rowan_mcp/functions/molecular_converter.py,sha256=j9YeCnaHZahwkhG2EZNPu5VVmGy2sqIHPB_qf1ojoec,17349
|
|
18
18
|
rowan_mcp/functions/molecular_dynamics.py,sha256=yzA03LeFv8K59Cg1SAnavWwmodl4_KW667pRHJQTXNw,6990
|
|
19
|
-
rowan_mcp/functions/
|
|
20
|
-
rowan_mcp/functions/molecule_lookup.py,sha256=I0infAB-9zN6LNCEyEQNDvLvlQ5L5nOrVJGWF6jLD9s,18466
|
|
19
|
+
rowan_mcp/functions/molecule_lookup.py,sha256=Ff3ARljNbLlGgSinREl6OFxoJ-HVXtbXPxy-r_6CMKs,1467
|
|
21
20
|
rowan_mcp/functions/multistage_opt.py,sha256=lWwgXZgpXnWsjgonkA1toks4t01Cdxo822xmT2EOssM,6185
|
|
22
21
|
rowan_mcp/functions/pdb_handler.py,sha256=EnhRqxStnke5kiSnDaWOzcJT8fAHW6VVIhTaH6ODkWE,6241
|
|
23
|
-
rowan_mcp/functions/pka.py,sha256=
|
|
22
|
+
rowan_mcp/functions/pka.py,sha256=9Ne2mBxX1wryyVJm-T66o6_KPfARHnab6sKqLXpt3oU,2335
|
|
24
23
|
rowan_mcp/functions/redox_potential.py,sha256=NXU1sEkMqI-2-LD9qv7qaBhkmAvwU3dFGLQ988DG4cc,13114
|
|
25
24
|
rowan_mcp/functions/scan.py,sha256=LWr6YKwCG3gv0ZtyCbPaJ81NlQyFTHFZ4WnXvSRxmVg,24235
|
|
26
25
|
rowan_mcp/functions/scan_analyzer.py,sha256=vnAokCFOxYbv3Px3p9dEIxQXL7ot6UMjeUfMb_ZF6Ug,13479
|
|
@@ -29,7 +28,7 @@ rowan_mcp/functions/spin_states.py,sha256=NG7uJjTi_Fx-E4Qr7RzjNhfFmKlHfIGMD0Uhyo
|
|
|
29
28
|
rowan_mcp/functions/system_management.py,sha256=UwdKD46FNEJh1zEPpvFW7-JBD6g8x-xSbmH7lrcubx0,20089
|
|
30
29
|
rowan_mcp/functions/tautomers.py,sha256=oXFUpMgCVtXy2JnyCb8G04vYj_anJj4WThD26ZGOsZ0,2694
|
|
31
30
|
rowan_mcp/functions/workflow_management.py,sha256=EqXRqj0EuJz7h2igqOHBpq23Qyo-KT9geWp39URacxw,21130
|
|
32
|
-
rowan_mcp-1.0.
|
|
33
|
-
rowan_mcp-1.0.
|
|
34
|
-
rowan_mcp-1.0.
|
|
35
|
-
rowan_mcp-1.0.
|
|
31
|
+
rowan_mcp-1.0.2.dist-info/METADATA,sha256=YnmsMhwW2K0VHeU30HuBNOV-vCKo1eoqGdBpw50XxtQ,6425
|
|
32
|
+
rowan_mcp-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
33
|
+
rowan_mcp-1.0.2.dist-info/entry_points.txt,sha256=QkmK3GHkTNA6gqyTIFrl2V2eVBm-VBdRAlDNsvi4Rl0,52
|
|
34
|
+
rowan_mcp-1.0.2.dist-info/RECORD,,
|
|
Binary file
|
|
File without changes
|
|
File without changes
|