OriginLab-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| origin_pingA | Check the bridge is reachable and report what is on the far end. Answers even when originpro is broken, which is when it matters most. |
| origin_labtalkA | Run a LabTalk script inside Origin and return what it printed. The escape hatch: anything Origin can do from its command window. Prefer a dedicated tool where one exists, because this one cannot check its own work.
Scripts that start Python ( |
| origin_plot_option_getA | Read one LabTalk
|
| origin_plot_option_setA | Set one LabTalk The result's Writing to a plot inside a group is refused, because Origin would draw the group's style regardless while the write read back as if it had worked. |
| origin_plotA | Plot worksheet columns into a graph layer, and return the graph and layer. Without
Columns are given as zero-based indexes or Origin short names. Several Use the returned |
| origin_graph_infoA | List a graph's layers and plots, with the addresses styling needs. Also reports each plot's |
| origin_graph_exportA | Export a graph to a PNG. Also the only way to find out whether a style change did anything: Origin
stores values it never acts on, so the picture is the only witness. The
result reports where Origin was told to write, not that it succeeded --
|
| origin_layer_addC | Add a layer (a panel) to a graph, and report which index it got. Returns the new layer's index because every other operation takes one, and assuming the new layer is 1 is wrong the moment the graph already had two. |
| origin_layers_arrangeC | Lay a graph's layers out as a grid of panels. A grid too small for the layers is refused: Origin would leave one off the page, and nothing about the result would say so. |
| origin_legend_setA | Rebuild a layer's legend, and optionally place or hide it. Origin generates its legend from the plots present at the moment it is refreshed rather than storing it, so a legend showing the wrong series is almost always one that has not been refreshed since the plots changed. Call this after adding plots.
|
| origin_axis_setA | Set an axis's scale, range or title, and read back what Origin holds.
Unlike plot styles, these read back from the same properties Origin draws
from, so Origin swaps the axes of bar charts internally: the value axis of a
horizontal bar chart is the one LabTalk calls |
| origin_axis_getA | Read an axis's scale and range as Origin currently holds them. Worth doing before setting a range: Origin's own rescaling may already have moved it, and the number a caller remembers setting is not necessarily the one in the graph. |
| origin_worksheet_infoA | Describe a worksheet -- size, column names, formats -- without reading it. Omit both arguments for the active worksheet. |
| origin_worksheet_readA | Read worksheet columns as lists, with the format Origin holds them in. A read that could not fit is refused rather than shortened, because a
silently truncated answer looks exactly like a short worksheet. Use
Date and time columns come back as Julian day numbers, not text. Converting them involves choices -- timezone, calendar, precision -- that belong to whoever knows what the data means. |
| origin_worksheet_writeA | Write columns into a worksheet. Each column is Dates go in as Julian day numbers with |
| origin_set_optionsA | Look up LabTalk Origin's option names are short and unguessable -- line width is Each entry's |
| origin_bridge_statusA | Report where the bridge is, and whether it is actually answering. These are different questions, and the difference is not academic. The
bridge publishes a handshake file when it starts and withdraws it when it
stops -- but a modal dialog inside Origin takes over the UI thread the
bridge serves on, so it can stop answering for hours while the handshake
goes on saying it is up. Measured: So |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 17 tools
Most tools target a distinct resource (worksheet, axis, plot option, layer, legend) with clear boundaries, and the descriptions actively warn where confusion could arise (e.g., plot_option vs axis vs set_options). The only mild overlap is origin_ping vs origin_bridge_status, and origin_worksheet_info vs origin_worksheet_read, both of which are carefully delineated but require reading the details.
The dominant pattern is origin_<noun>_<verb> (axis_get, layer_add, worksheet_read), but there are deviations: origin_set_options puts the verb first, origin_graph_info and origin_worksheet_info use 'info' where 'get' would match axis_get, and several tools (ping, labtalk, plot, bridge_status) are bare nouns. The get/set pairs are consistent where they exist, but the mixed conventions prevent a higher score.
Seventeen tools is at the boundary where the set starts to feel heavy, but for a bridge to a full desktop application with worksheet, plotting, and styling concerns, each tool has a discernible role and the count is justified. The escape-hatch design (origin_labtalk) keeps the surface from being even larger.
The surface covers the full lifecycle from data reading/writing to plotting, styling, arranging, and exporting, with a clear read/modify/verify pattern throughout. The only notable gap is the lack of any delete/clear operation (no way to remove a plot, layer, or worksheet), though origin_labtalk serves as a viable fallback for these rarer operations.