Skip to main content

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

Metadata

Release files for ovito-mcp 2026.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovito-mcp 2026.2
File Size Uploaded Provenance
ovito_mcp-2026.2.tar.gz 87.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ovito-mcp 2026.2
File Interpreter ABI Platform
ovito_mcp-2026.2-py3-none-any.whl Python 3 none any Details

Total release size: 147.3 kB

Release files / ovito_mcp-2026.2.tar.gz

Download URL ovito_mcp-2026.2.tar.gz
Size 87.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b42ed1c436e6c4c21c87b44297774493fe7eb1e64907f93793f0b90d92641694
BLAKE2b-256 checksum
How to use checksums
f16c7e205f6f6989df63c31f29cb3ad78980d30ee546fc1f77c86809f189194b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"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.17"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.11.17","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.15.1

Release files / ovito_mcp-2026.2-py3-none-any.whl

Download URL ovito_mcp-2026.2-py3-none-any.whl
Size 60.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8be77af08a0649a0891b78499ca521d9760481817489f6facecbe914aaf8f6e
BLAKE2b-256 checksum
How to use checksums
55e3214ebbbac774bb41564dbd0d21a6a26980db42925f42001eb25e2cf1af0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via Hatch/1.18.1 {"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.17"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.11.17","system":{"name":"Linux","release":"5.15.154+"}} HTTPX2/2.15.1

Security for ovito-mcp 2026.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

2026.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page