Sanitized Origin Pro MCP skill package with bilingual documentation
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
impascside 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
- Start Origin Pro.
- Ask the assistant to create or import worksheet data.
- Create a graph from worksheet columns.
- Apply publication style in one call.
- Fit a curve if needed.
- 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_projectsave_projectload_project
Worksheet and data:
create_worksheetset_worksheet_dataget_worksheet_dataimport_csv_to_worksheetlist_worksheets
Graphing:
create_graphadd_plot_to_graphset_axis_labelsset_axis_rangeexport_graphexport_all_graphs
Styling:
apply_publication_styleset_plot_styleset_graph_fontset_legendset_tick_style
Analysis:
curve_fitlist_fitting_functions
Advanced:
run_labtalkget_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_graphusesexpGraphwith a directorypathand a separatefilename; the tool verifies output file existence and size.import_csv_to_worksheetparses CSV in Python and writes columns through COM to avoidimpascauto-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.