Skip to content

leima-max/origin-pro-mcp-skill

Repository files navigation

Origin Pro MCP Skill Package

English | 中文说明

Origin Pro MCP Skill Package is a Windows-first MCP server and Codex/Claude-style skill package for controlling OriginLab Origin Pro through COM automation. It lets an AI assistant create workbooks, write and read worksheet data, import CSV files, build graphs, apply publication-style formatting, run curve fitting, execute LabTalk, export figures, and save/load Origin projects.

This repository is a sanitized, reusable package. It does not contain personal API keys, Zotero configuration, local workspace state, generated experiment outputs, or machine-specific MCP configuration.

Features

  • Origin Pro COM automation through Origin.ApplicationSI
  • 23 MCP tools for project, worksheet, graph, style, fitting, export, and LabTalk workflows
  • File-verified graph export using Origin expGraph
  • CSV import that respects the requested Origin workbook name and avoids Origin impasc side effects
  • Publication figure workflow in skills/publication-figure.md
  • Pytest coverage with Origin-aware skip behavior for machines without Origin installed

Requirements

  • Windows
  • Origin Pro 2020 or newer, installed and able to start
  • Python 3.10 or newer, using Windows Python rather than WSL Python
  • Python packages: mcp, pywin32, Pillow

Install

git clone https://github.com/leima-max/origin-pro-mcp-skill.git
cd origin-pro-mcp-skill
python -m pip install -e .

Start Origin Pro before calling tools that need COM automation.

MCP Configuration

Use either the installed console command:

{
  "mcpServers": {
    "origin-pro": {
      "command": "origin-pro-mcp"
    }
  }
}

Or run the local server file directly:

{
  "mcpServers": {
    "origin-pro": {
      "command": "python",
      "args": ["-u", "PATH_TO_REPO/server.py"]
    }
  }
}

A sanitized example is available at examples/mcporter.example.json.

Quick Smoke Test

python -m pytest -q

On machines without Origin Pro, Origin-dependent tests are skipped. On a Windows machine with Origin Pro available, the integration tests exercise the real COM workflow.

You can also verify tool registration without starting Origin:

python -c "import origin_pro_mcp.server; from origin_pro_mcp.app import mcp; print(len(mcp._tool_manager._tools))"

Expected output: 23.

Typical AI Workflow

  1. Start Origin Pro.
  2. Ask the assistant to create or import worksheet data.
  3. Create a graph from worksheet columns.
  4. Apply publication style in one call.
  5. Fit a curve if needed.
  6. Export figures and verify that files were created.

Example tool flow:

new_project()
create_worksheet(book_name="Data", sheet_name="Sheet1")
set_worksheet_data(
    book_name="Data",
    sheet_name="Sheet1",
    columns="[[0,1,2,3],[0.02,0.08,0.18,0.36],[0.11,0.42,0.90,1.62]]",
    column_names="Bias,Dark,Light"
)
create_graph(graph_name="Fig1", data_book="Data", data_sheet="Sheet1", x_col=1, y_col=2, plot_type="line+symbol")
add_plot_to_graph(graph_name="Fig1", data_book="Data", data_sheet="Sheet1", x_col=1, y_col=3, plot_type="line+symbol")
apply_publication_style(
    graph_name="Fig1",
    x_label="Voltage (V)",
    y_label="Current density (mA cm^-2)",
    x_min=0,
    x_max=3,
    y_min=0,
    y_max=2,
    legend_entries="Dark,Light",
    legend_position="top-left"
)
export_graph(graph_name="Fig1", file_path="OUTPUT_DIR/Fig1.png")

MCP Tools

Project:

  • new_project
  • save_project
  • load_project

Worksheet and data:

  • create_worksheet
  • set_worksheet_data
  • get_worksheet_data
  • import_csv_to_worksheet
  • list_worksheets

Graphing:

  • create_graph
  • add_plot_to_graph
  • set_axis_labels
  • set_axis_range
  • export_graph
  • export_all_graphs

Styling:

  • apply_publication_style
  • set_plot_style
  • set_graph_font
  • set_legend
  • set_tick_style

Analysis:

  • curve_fit
  • list_fitting_functions

Advanced:

  • run_labtalk
  • get_labtalk_variable

Notes and Known Constraints

  • Origin COM only works from Windows Python.
  • The first COM connection can take several seconds if Origin is cold-starting.
  • If Origin shows a blocking dialog, MCP calls may wait or time out.
  • export_graph uses expGraph with a directory path and a separate filename; the tool verifies output file existence and size.
  • import_csv_to_worksheet parses CSV in Python and writes columns through COM to avoid impasc auto-generated sparkline graph pages.

Security and Sanitization

This package intentionally excludes:

  • local config/mcporter.json
  • API keys and token files
  • Zotero or other third-party connector settings
  • local workspace memory, logs, and generated experiment output
  • user-specific absolute paths

Before publishing derived versions, run a secret scan for keys, tokens, passwords, local connector names, and machine-specific paths. For example:

rg -n "key|token|secret|credential|password|local_user_path|connector_specific_env"

License

MIT. The original upstream package is credited in pyproject.toml project metadata and source history notes.

About

Sanitized Origin Pro MCP skill package with bilingual documentation

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages