Skip to main content

Local MCP server that lets AI assistants automate Origin/OriginPro for data import, worksheet editing, plotting, analysis, and export on Windows.

Project description

origin-mcp

origin-mcp cover

简体中文

origin-mcp is a local Model Context Protocol (MCP) server that lets AI assistants control Origin/OriginPro on Windows. It connects through OriginLab's Python automation interface and exposes tools for importing data, editing worksheets, creating and refining graphs, running Origin analyses, exporting figures, and managing the Origin application lifecycle.

This project is still in a testing stage. Trying it on real Origin workflows, reporting issues, suggesting improvements, and opening pull requests are all welcome.

Highlights

  • Import CSV, TSV, TXT, DAT, XLS, and Excel data into Origin worksheets.
  • Read, write, sort, clear, and export worksheet data.
  • Create and refine common 2D, 3D, contour, statistical, and specialized plots.
  • Run Origin analyses such as fitting, smoothing, integration, peak finding, descriptive statistics, interpolation, normalization, t-tests, FFT/IFFT, and correlation.
  • Export figures and projects through a local Origin GUI bridge.
  • Save a finished graph as a reusable user template, then search/match and reapply it to same-type figures (see docs/tools.md).

Requirements

  • Windows
  • Origin or OriginPro installed and licensed
  • Origin/OriginPro 2026 is the primary tested target; other Origin versions are not currently guaranteed
  • Origin's embedded Python with the preinstalled originpro package

Python version support

origin-mcp runs as two cooperating processes, and the supported Python versions differ by role:

  • MCP server core (the python -m origin_mcp process, which only talks to the bridge over localhost): Python 3.10+. CI tests this core on Windows with Python 3.10, 3.11, 3.12, 3.13, and 3.14.
  • Origin bridge (addon.py): runs inside Origin's own embedded Python, so its version is whatever your Origin install ships — there is nothing to pick.

Direct external originpro automation is not a supported MCP backend for this project. Start the bridge inside Origin's embedded Python and let the MCP server connect to it over localhost.

Agentic Setup

Copy this to your AI agent and let it self-configure:

Fetch and follow this bootstrap guide end to end:
https://raw.githubusercontent.com/Ge-Shun/origin-mcp/main/docs/agentic/origin-mcp-bootstrap.md

MCP Configuration

Example MCP client configuration:

{
  "mcpServers": {
    "origin": {
      "command": "python",
      "args": ["-m", "origin_mcp"]
    }
  }
}

If python is not the Python 3.10+ interpreter you installed origin-mcp into, use that interpreter's absolute python.exe path instead. More examples are in docs/mcp-config.md.

Start the Origin Bridge

The bridge runs inside Origin's own Python so originpro stays on Origin's UI thread. There is nothing to configure — start it once per Origin session:

Origin Apps (recommended for daily use). Build and install the two bridge Apps once with the steps in docs/origin-ui-buttons.md. After that, click Origin MCP Bridge Start in the Apps gallery to start the bridge and Origin MCP Bridge Stop to stop it.

Python Console (one-off or troubleshooting). Open Origin's Python Console and paste this line (replace the path with your checkout):

import runpy; runpy.run_path(r"C:\path\to\origin-mcp\addon.py", run_name="__main__")

A Bridge is running inside Origin. box confirms startup; keep that console running while you use the tools. To stop, ask your MCP assistant to shut the bridge down (it calls origin_bridge_shutdown), or double-click scripts\stop-bridge.cmd (or run python scripts\stop_bridge.py). Origin stays open either way.

If a package is missing or the bridge will not start, see docs/origin-bridge.md.

Security

The bridge listens only on 127.0.0.1 and authenticates local requests by default with a per-session token, so normal use needs no security setup.

Treat that token as a credential. Any local process that presents it can drive Origin with the full tool surface, including arbitrary LabTalk execution through origin_run_labtalk. The token is generated per session and written to an owner-scoped file in your per-user temporary directory (%TEMP%/origin-mcp/bridge.json on Windows), which a standard single-user machine already protects through the directory's OS permissions. If you redirect TEMP or ORIGIN_MCP_BRIDGE_HANDSHAKE to a directory other local users can read, the token — and therefore control of Origin — is exposed to them. Setting ORIGIN_MCP_BRIDGE_NO_AUTH removes the token boundary entirely and should be used only when you fully trust every local process.

If you need to restrict which files tools may read or write, set ORIGIN_MCP_ALLOWED_ROOTS to the allowed directories. Avoid disabling bridge authentication unless you fully trust every local process on the machine.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

origin_mcp-0.1.0.tar.gz (489.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

origin_mcp-0.1.0-py3-none-any.whl (239.9 kB view details)

Uploaded Python 3

File details

Details for the file origin_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: origin_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 489.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for origin_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d199fe0f901a49398f66a0fe1d89a8f99516b4bc0ac04e98dd9df7eefc1f7913
MD5 7b7ff23945736da4f1c1057495dcec4d
BLAKE2b-256 99eba8834be917f55aedee0137b8fff85c388496921facda5421507399864b69

See more details on using hashes here.

File details

Details for the file origin_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: origin_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 239.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for origin_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8042a939ace7de4745412100d31bb23071ca1186bed408eaf431491ad657ffb9
MD5 40aadfaa321131009a72e63fc987e51d
BLAKE2b-256 183847ae0ca47074c54ffaa3cd1ed2928c509bac7a04b2a1d532af7a6d5057f7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page