OVITO Pro MCP Server
Connects an AI coding agent to a running OVITO Pro session, so you can work with your simulation data by describing what you want in plain language. The agent operates inside the session you already have open — it can load files, build and adjust pipelines, analyze results, and look things up in the OVITO documentation, while you watch each step happen live in the GUI and keep working in the same window yourself.
Works with Claude Code, GitHub Copilot CLI, OpenAI Codex, OpenCode, Google Antigravity, and other coding agents that support MCP.
Requirements
- OVITO Pro 3.16 or later, with a valid license
- Python 3.10 or later
- A supported coding agent, installed and set up separately (see Agent configuration)
Installation
Install the server:
pip install ovito-mcp
Verify the installation and check the version with:
ovito-mcp --version
The documentation-search tools provided by the OVITO MCP server use two small sentence-transformers models that are downloaded once from the Hugging Face Hub (~180 MB total) and cached locally. The server downloads them automatically in the background the first time it starts, and never touches the network for them again. If you would rather do this one-time download up front — recommended on a slow or restricted network, so it can't slow down the first search — run:
ovito-mcp --download-models
Then register it with your coding agent, using the absolute path to the ovito-mcp console
script. For Claude Code:
# Windows (PowerShell)
claude mcp add ovito-mcp --scope user -- (Get-Command ovito-mcp).Source
# macOS / Linux
claude mcp add ovito-mcp --scope user -- "$(which ovito-mcp)"
See Agent configuration below for the other agents.
Using it
In OVITO Pro, open the AI Agent tab in the data inspector panel at the bottom of the main window, pick your coding agent, and press Start.
OVITO launches the agent and connects it to the session in front of you. Anything the agent does appears live in the GUI, and you can keep interacting with the same scene while it works.
No further setup is needed — the agent finds everything it needs from the running OVITO Pro session.
See the AI Agent manual page for the OVITO-side documentation, including security considerations.
Agent configuration
Register ovito-mcp by its absolute path in the configurations below. Find that path with:
# Windows (PowerShell)
(Get-Command ovito-mcp).Source
# macOS / Linux
which ovito-mcp
and substitute it for /path/to/ovito-mcp in the snippets below.
Claude Code / Claude Desktop
Add this to your ~/.claude.json:
"mcpServers": {
"ovito-mcp": {
"type": "stdio",
"command": "/path/to/ovito-mcp"
}
}
OpenCode
Add this to your ~/.opencode.json:
"mcp": {
"ovito-mcp": {
"type": "local",
"command": ["/path/to/ovito-mcp"],
"enabled": true
}
}
Google Antigravity
Add this to your ~/.antigravity/config.json:
"mcpServers": {
"ovito-mcp": {
"command": "/path/to/ovito-mcp"
}
}
OpenAI Codex
Add this to your $HOME/.codex/config.toml:
[mcp_servers.ovito-mcp]
command = "/path/to/ovito-mcp"
GitHub Copilot
Add this to your ~/.copilot/mcp-config.json:
"mcpServers": {
"ovito-mcp": {
"command": "/path/to/ovito-mcp"
}
}
Advanced configuration
Neither setting below is needed for normal use. Both are environment variables, intended for development and unusual setups.
| Env var | Purpose |
|---|---|
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. |
OVITO_RAG_DB |
Path to an alternative documentation database. Overrides the one that ships with OVITO Pro, for developing against a custom build. |
Workflow examples
Prompt:
"Analyze the grain boundary in this sample and highlight repeating structural units in the boundary."
Video: https://www.ovito.org/download/data/videos/ai_agent_demo_gb_analysis.mp4
- Identified the sample as a 2D-periodic bicrystal grain boundary
- Ran structure identification via polyhedral template matching
- Determined the boundary plane, tilt angle, and tilt axis
- Measured periodicity along the boundary with an FFT
- Color-coded the repeating structural units and aligned the camera
Prompt:
"Import the ethene molecule and show the electron density along a representative slice — then add bond orders, a colorbar, and color the bonds by particle type."
Video: https://www.ovito.org/download/data/videos/ai_agent_demo_electron_density.mp4
- Loaded the molecule's charge-density file and computed the molecular plane
- Sliced along the plane and aligned the camera to it
- Switched to a logarithmic color scale after spotting oversaturation
- Added a color legend in preview mode
- Computed bond orders and colored bonds to match particle colors
Prompt:
"Recreate the analysis and view from this reference figure using my data already loaded in OVITO — don't manipulate the data for better agreement."
Video: https://www.ovito.org/download/data/videos/ai_agent_demo_nano_indentation.mp4
- Identified the sample as SrTiO₃ with a free surface
- Selected the BCC-like cation sublattice for dislocation analysis
- Applied the Dislocation Extraction Algorithm (DXA)
- Matched line and defect-mesh coloring to the reference figure
- Adjusted the camera to match the reference viewport
Prompt:
"Read this trajectory and compute the diffusion constant — then plot the result."
Video: https://www.ovito.org/download/data/videos/ai_agent_demo_diffusion.mp4
- Loaded a 1,000-frame trajectory in a 5 Å cubic periodic box
- Unwrapped trajectories to avoid MSD saturation from periodic boundaries
- Computed the mean squared displacement (MSD) over time
- Fit MSD vs. time using the Einstein–Smoluchowski relation
- Plotted the result: D = 0.0490 Ų/ps (R² = 0.995)
Support
Questions and bug reports: support@ovito.org
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ovito_mcp-2026.1.tar.gz.
File metadata
- Download URL: ovito_mcp-2026.1.tar.gz
- Upload date:
- Size: 83.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.18.0 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.11.15"},"installer":{"name":"hatch","version":"1.18.0"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.11.15","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
25f5d6de60d7a13e6a3814ed7835f4e56ec7542da15671f7ab9c55050d13f55e
|
|
| MD5 |
c8105e7b43e3ff11955e204609ef68e2
|
|
| BLAKE2b-256 |
891d2c552206fbc5b46be2d322dfbddad56370fd8f288b21fe7d6211aae1389a
|
File details
Details for the file ovito_mcp-2026.1-py3-none-any.whl.
File metadata
- Download URL: ovito_mcp-2026.1-py3-none-any.whl
- Upload date:
- Size: 57.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
Hatch/1.18.0 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.11.15"},"installer":{"name":"hatch","version":"1.18.0"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.11.15","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c909212771ea59462cabd0f54211d37533efa39032557aec5f36cb7a9a9f6cc3
|
|
| MD5 |
8dda2e900e96a9ec9e0fe44b4add74af
|
|
| BLAKE2b-256 |
4cc2fcce7bd6aafaffd3254d3b231360c613d40c39b823bb7b946a6c35f1127d
|