ovito-mcp 2026.1.dev2__tar.gz → 2026.1.dev4__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.
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/.gitignore +1 -6
- ovito_mcp-2026.1.dev4/PKG-INFO +195 -0
- ovito_mcp-2026.1.dev4/README.md +163 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/RELEASING.md +8 -4
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/ovito_mcp/__init__.py +444 -132
- ovito_mcp-2026.1.dev4/ovito_mcp/__main__.py +47 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/ovito_mcp/rag/__init__.py +8 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/ovito_mcp/rag/db.py +302 -12
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/pyproject.toml +2 -2
- ovito_mcp-2026.1.dev4/tests/conftest.py +65 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/tests/test_docs_index.py +17 -1
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/tests/test_docs_index_discovery.py +3 -4
- ovito_mcp-2026.1.dev4/tests/test_kernel_spec.py +59 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/tests/test_rag_db.py +89 -1
- ovito_mcp-2026.1.dev2/PKG-INFO +0 -240
- ovito_mcp-2026.1.dev2/README.md +0 -208
- ovito_mcp-2026.1.dev2/ovito_mcp/__main__.py +0 -16
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/.gitlab-ci.yml +0 -0
- {ovito_mcp-2026.1.dev2 → ovito_mcp-2026.1.dev4}/LICENSE +0 -0
|
@@ -222,12 +222,7 @@ poetry.toml
|
|
|
222
222
|
pyrightconfig.json
|
|
223
223
|
|
|
224
224
|
### VisualStudioCode ###
|
|
225
|
-
.vscode
|
|
226
|
-
!.vscode/settings.json
|
|
227
|
-
!.vscode/tasks.json
|
|
228
|
-
!.vscode/launch.json
|
|
229
|
-
!.vscode/extensions.json
|
|
230
|
-
!.vscode/*.code-snippets
|
|
225
|
+
.vscode/
|
|
231
226
|
|
|
232
227
|
# Local History for Visual Studio Code
|
|
233
228
|
.history/
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ovito-mcp
|
|
3
|
+
Version: 2026.1.dev4
|
|
4
|
+
Summary: MCP server for interactive work in OVITO Pro
|
|
5
|
+
Project-URL: Homepage, https://www.ovito.org
|
|
6
|
+
Project-URL: Documentation, https://docs.ovito.org/reference/data_inspector/coding_agent.html
|
|
7
|
+
Project-URL: Repository, https://gitlab.com/ovito-org/ovito-mcp-server
|
|
8
|
+
Project-URL: Bug Tracker, https://gitlab.com/ovito-org/ovito-mcp-server/-/issues
|
|
9
|
+
Author-email: OVITO GmbH <support@ovito.org>
|
|
10
|
+
License: Proprietary
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
Keywords: mcp,molecular-dynamics,ovito,visualization
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: Other/Proprietary License
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: jupyter-client>=8.0
|
|
25
|
+
Requires-Dist: jupyter-core>=5.0
|
|
26
|
+
Requires-Dist: mcp>=1.2.0
|
|
27
|
+
Requires-Dist: numpy>=1.26
|
|
28
|
+
Requires-Dist: sentence-transformers>=5.6.0
|
|
29
|
+
Provides-Extra: test
|
|
30
|
+
Requires-Dist: pytest; extra == 'test'
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
|
|
33
|
+
# OVITO Pro MCP Server
|
|
34
|
+
|
|
35
|
+
Connects an AI coding agent to a running **OVITO Pro** session, so you can work with your
|
|
36
|
+
simulation data by describing what you want in plain language. The agent operates inside
|
|
37
|
+
the session you already have open — it can load files, build and adjust pipelines, analyze
|
|
38
|
+
results, and look things up in the OVITO documentation, while you watch each step happen
|
|
39
|
+
live in the GUI and keep working in the same window yourself.
|
|
40
|
+
|
|
41
|
+
Works with Claude Code, GitHub Copilot CLI, OpenAI Codex, OpenCode, Google Antigravity, and
|
|
42
|
+
other coding agents that support MCP.
|
|
43
|
+
|
|
44
|
+
## Requirements
|
|
45
|
+
|
|
46
|
+
- **OVITO Pro 3.16 or later**, with a valid license
|
|
47
|
+
- **Python 3.10 or later**
|
|
48
|
+
- A supported coding agent, installed and set up separately (see
|
|
49
|
+
[Agent configuration](#agent-configuration))
|
|
50
|
+
|
|
51
|
+
## Installation
|
|
52
|
+
|
|
53
|
+
Install the server:
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
pip install ovito-mcp
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Verify the installation and check the version with:
|
|
60
|
+
|
|
61
|
+
```sh
|
|
62
|
+
ovito-mcp --version
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The documentation-search tools provided by the OVITO MCP server use two small sentence-transformers models that are downloaded
|
|
66
|
+
once from the Hugging Face Hub (~180 MB total) and cached locally. The server downloads them
|
|
67
|
+
automatically in the background the first time it starts, and never touches the network for
|
|
68
|
+
them again. If you would rather do this one-time download up front — recommended on a slow or
|
|
69
|
+
restricted network, so it can't slow down the first search — run:
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
ovito-mcp --download-models
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Then register it with your coding agent, using the **absolute path** to the `ovito-mcp` console
|
|
76
|
+
script. For Claude Code:
|
|
77
|
+
|
|
78
|
+
```powershell
|
|
79
|
+
# Windows (PowerShell)
|
|
80
|
+
claude mcp add ovito-mcp --scope user -- (Get-Command ovito-mcp).Source
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
# macOS / Linux
|
|
85
|
+
claude mcp add ovito-mcp --scope user -- "$(which ovito-mcp)"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
See [Agent configuration](#agent-configuration) below for the other agents.
|
|
89
|
+
|
|
90
|
+
## Using it
|
|
91
|
+
|
|
92
|
+
In OVITO Pro, open the
|
|
93
|
+
[**AI Agent**](https://docs.ovito.org/reference/data_inspector/coding_agent.html) tab in
|
|
94
|
+
the data inspector panel at the bottom of the main window, pick your coding agent, and
|
|
95
|
+
press **Start**.
|
|
96
|
+
|
|
97
|
+
OVITO launches the agent and connects it to the session in front of you. Anything the agent
|
|
98
|
+
does appears live in the GUI, and you can keep interacting with the same scene while it
|
|
99
|
+
works.
|
|
100
|
+
|
|
101
|
+
No further setup is needed — the agent finds everything it needs from the running OVITO Pro
|
|
102
|
+
session.
|
|
103
|
+
|
|
104
|
+
See the [AI Agent manual page](https://docs.ovito.org/reference/data_inspector/coding_agent.html)
|
|
105
|
+
for the OVITO-side documentation, including security considerations.
|
|
106
|
+
|
|
107
|
+
## Agent configuration
|
|
108
|
+
|
|
109
|
+
Register `ovito-mcp` by its **absolute path** in the configurations below. Find that path with:
|
|
110
|
+
|
|
111
|
+
```powershell
|
|
112
|
+
# Windows (PowerShell)
|
|
113
|
+
(Get-Command ovito-mcp).Source
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
# macOS / Linux
|
|
118
|
+
which ovito-mcp
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
and substitute it for `/path/to/ovito-mcp` in the snippets below.
|
|
122
|
+
|
|
123
|
+
### Claude Code / Claude Desktop
|
|
124
|
+
|
|
125
|
+
Add this to your `~/.claude.json`:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
"mcpServers": {
|
|
129
|
+
"ovito-mcp": {
|
|
130
|
+
"type": "stdio",
|
|
131
|
+
"command": "/path/to/ovito-mcp"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### OpenCode
|
|
137
|
+
|
|
138
|
+
Add this to your `~/.opencode.json`:
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
"mcp": {
|
|
142
|
+
"ovito-mcp": {
|
|
143
|
+
"type": "local",
|
|
144
|
+
"command": ["/path/to/ovito-mcp"],
|
|
145
|
+
"enabled": true
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Google Antigravity
|
|
151
|
+
|
|
152
|
+
Add this to your `~/.antigravity/config.json`:
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
"mcpServers": {
|
|
156
|
+
"ovito-mcp": {
|
|
157
|
+
"command": "/path/to/ovito-mcp"
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### OpenAI Codex
|
|
163
|
+
|
|
164
|
+
Add this to your `$HOME/.codex/config.toml`:
|
|
165
|
+
|
|
166
|
+
```toml
|
|
167
|
+
[mcp_servers.ovito-mcp]
|
|
168
|
+
command = "/path/to/ovito-mcp"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### GitHub Copilot
|
|
172
|
+
|
|
173
|
+
Add this to your `~/.copilot/mcp-config.json`:
|
|
174
|
+
|
|
175
|
+
```json
|
|
176
|
+
"mcpServers": {
|
|
177
|
+
"ovito-mcp": {
|
|
178
|
+
"command": "/path/to/ovito-mcp"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Advanced configuration
|
|
184
|
+
|
|
185
|
+
Neither setting below is needed for normal use. Both are environment variables, intended
|
|
186
|
+
for development and unusual setups.
|
|
187
|
+
|
|
188
|
+
| Env var | Purpose |
|
|
189
|
+
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
190
|
+
| `OVITO_EXE` | Path to the OVITO Pro executable (`ovito.exe` on Windows, `ovito` on Linux, `Ovito.app/Contents/MacOS/ovito` on macOS). Only needed to let the agent start OVITO Pro itself, instead of connecting to a session you already have running. |
|
|
191
|
+
| `OVITO_RAG_DB` | Path to an alternative documentation database. Overrides the one that ships with OVITO Pro, for developing against a custom build. |
|
|
192
|
+
|
|
193
|
+
## Support
|
|
194
|
+
|
|
195
|
+
Questions and bug reports: <support@ovito.org>
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# OVITO Pro MCP Server
|
|
2
|
+
|
|
3
|
+
Connects an AI coding agent to a running **OVITO Pro** session, so you can work with your
|
|
4
|
+
simulation data by describing what you want in plain language. The agent operates inside
|
|
5
|
+
the session you already have open — it can load files, build and adjust pipelines, analyze
|
|
6
|
+
results, and look things up in the OVITO documentation, while you watch each step happen
|
|
7
|
+
live in the GUI and keep working in the same window yourself.
|
|
8
|
+
|
|
9
|
+
Works with Claude Code, GitHub Copilot CLI, OpenAI Codex, OpenCode, Google Antigravity, and
|
|
10
|
+
other coding agents that support MCP.
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
|
|
14
|
+
- **OVITO Pro 3.16 or later**, with a valid license
|
|
15
|
+
- **Python 3.10 or later**
|
|
16
|
+
- A supported coding agent, installed and set up separately (see
|
|
17
|
+
[Agent configuration](#agent-configuration))
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
Install the server:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
pip install ovito-mcp
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Verify the installation and check the version with:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
ovito-mcp --version
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
The documentation-search tools provided by the OVITO MCP server use two small sentence-transformers models that are downloaded
|
|
34
|
+
once from the Hugging Face Hub (~180 MB total) and cached locally. The server downloads them
|
|
35
|
+
automatically in the background the first time it starts, and never touches the network for
|
|
36
|
+
them again. If you would rather do this one-time download up front — recommended on a slow or
|
|
37
|
+
restricted network, so it can't slow down the first search — run:
|
|
38
|
+
|
|
39
|
+
```sh
|
|
40
|
+
ovito-mcp --download-models
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Then register it with your coding agent, using the **absolute path** to the `ovito-mcp` console
|
|
44
|
+
script. For Claude Code:
|
|
45
|
+
|
|
46
|
+
```powershell
|
|
47
|
+
# Windows (PowerShell)
|
|
48
|
+
claude mcp add ovito-mcp --scope user -- (Get-Command ovito-mcp).Source
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```sh
|
|
52
|
+
# macOS / Linux
|
|
53
|
+
claude mcp add ovito-mcp --scope user -- "$(which ovito-mcp)"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
See [Agent configuration](#agent-configuration) below for the other agents.
|
|
57
|
+
|
|
58
|
+
## Using it
|
|
59
|
+
|
|
60
|
+
In OVITO Pro, open the
|
|
61
|
+
[**AI Agent**](https://docs.ovito.org/reference/data_inspector/coding_agent.html) tab in
|
|
62
|
+
the data inspector panel at the bottom of the main window, pick your coding agent, and
|
|
63
|
+
press **Start**.
|
|
64
|
+
|
|
65
|
+
OVITO launches the agent and connects it to the session in front of you. Anything the agent
|
|
66
|
+
does appears live in the GUI, and you can keep interacting with the same scene while it
|
|
67
|
+
works.
|
|
68
|
+
|
|
69
|
+
No further setup is needed — the agent finds everything it needs from the running OVITO Pro
|
|
70
|
+
session.
|
|
71
|
+
|
|
72
|
+
See the [AI Agent manual page](https://docs.ovito.org/reference/data_inspector/coding_agent.html)
|
|
73
|
+
for the OVITO-side documentation, including security considerations.
|
|
74
|
+
|
|
75
|
+
## Agent configuration
|
|
76
|
+
|
|
77
|
+
Register `ovito-mcp` by its **absolute path** in the configurations below. Find that path with:
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
80
|
+
# Windows (PowerShell)
|
|
81
|
+
(Get-Command ovito-mcp).Source
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
# macOS / Linux
|
|
86
|
+
which ovito-mcp
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
and substitute it for `/path/to/ovito-mcp` in the snippets below.
|
|
90
|
+
|
|
91
|
+
### Claude Code / Claude Desktop
|
|
92
|
+
|
|
93
|
+
Add this to your `~/.claude.json`:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
"mcpServers": {
|
|
97
|
+
"ovito-mcp": {
|
|
98
|
+
"type": "stdio",
|
|
99
|
+
"command": "/path/to/ovito-mcp"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### OpenCode
|
|
105
|
+
|
|
106
|
+
Add this to your `~/.opencode.json`:
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
"mcp": {
|
|
110
|
+
"ovito-mcp": {
|
|
111
|
+
"type": "local",
|
|
112
|
+
"command": ["/path/to/ovito-mcp"],
|
|
113
|
+
"enabled": true
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Google Antigravity
|
|
119
|
+
|
|
120
|
+
Add this to your `~/.antigravity/config.json`:
|
|
121
|
+
|
|
122
|
+
```json
|
|
123
|
+
"mcpServers": {
|
|
124
|
+
"ovito-mcp": {
|
|
125
|
+
"command": "/path/to/ovito-mcp"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### OpenAI Codex
|
|
131
|
+
|
|
132
|
+
Add this to your `$HOME/.codex/config.toml`:
|
|
133
|
+
|
|
134
|
+
```toml
|
|
135
|
+
[mcp_servers.ovito-mcp]
|
|
136
|
+
command = "/path/to/ovito-mcp"
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### GitHub Copilot
|
|
140
|
+
|
|
141
|
+
Add this to your `~/.copilot/mcp-config.json`:
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
"mcpServers": {
|
|
145
|
+
"ovito-mcp": {
|
|
146
|
+
"command": "/path/to/ovito-mcp"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Advanced configuration
|
|
152
|
+
|
|
153
|
+
Neither setting below is needed for normal use. Both are environment variables, intended
|
|
154
|
+
for development and unusual setups.
|
|
155
|
+
|
|
156
|
+
| Env var | Purpose |
|
|
157
|
+
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
158
|
+
| `OVITO_EXE` | Path to the OVITO Pro executable (`ovito.exe` on Windows, `ovito` on Linux, `Ovito.app/Contents/MacOS/ovito` on macOS). Only needed to let the agent start OVITO Pro itself, instead of connecting to a session you already have running. |
|
|
159
|
+
| `OVITO_RAG_DB` | Path to an alternative documentation database. Overrides the one that ships with OVITO Pro, for developing against a custom build. |
|
|
160
|
+
|
|
161
|
+
## Support
|
|
162
|
+
|
|
163
|
+
Questions and bug reports: <support@ovito.org>
|
|
@@ -60,15 +60,19 @@ PEP 440 pre-release — a dev release (`2026.1.dev1`), alpha (`2026.1a1`), beta
|
|
|
60
60
|
(`2026.1b1`), or release candidate (`2026.1rc1`). The procedure is identical to above;
|
|
61
61
|
the tag pattern in `.gitlab-ci.yml` already matches these.
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
Once at least one stable version exists, pre-releases are skipped by an ordinary
|
|
64
|
+
`pip install ovito-mcp`, and reaching one is explicit:
|
|
65
65
|
|
|
66
66
|
```sh
|
|
67
67
|
pip install --pre ovito-mcp # newest, including pre-releases
|
|
68
|
-
pip install ovito-mcp==2026.1.
|
|
68
|
+
pip install ovito-mcp==2026.1.dev2 # or pin it exactly
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
|
|
71
|
+
**Caveat while no stable release exists.** pip falls back to pre-releases when a project
|
|
72
|
+
has *no* stable version to choose from, so until `2026.1` is published, a plain
|
|
73
|
+
`pip install ovito-mcp` resolves to the newest pre-release. A pre-release is therefore not
|
|
74
|
+
a private one before the first stable release — it is publicly installable by anyone who
|
|
75
|
+
knows the name.
|
|
72
76
|
|
|
73
77
|
**Write versions in canonical PEP 440 form.** `2026.1-rc1` and `2026.1.rc1` are accepted
|
|
74
78
|
by the build but normalize to `2026.1rc1` in the artifact and on PyPI, which would make
|