Origin MCP
Enables AI clients to drive a running OriginLab Origin instance, allowing LabTalk scripting, worksheet read/write, and project management.
README
Origin MCP
An OriginLab Origin app that lets AI clients drive your running Origin instance.
Install the app, click it once, and Origin starts a small background server (an MCP server). Point any MCP-capable AI client at it and the AI can now work inside this Origin: run LabTalk, read and write worksheets, run fits, create projects, and read results back.
This is a standalone app — it is not part of Batalyse.
What the AI can do
Once connected, the client has tools to:
- Run LabTalk — any script, with or without reading values back (
run_labtalk,run_labtalk_with_readback) - Read/write worksheet data (
get_worksheet_data,set_worksheet_data,add_worksheet) - Read/write LabTalk variables and the project tree (
get_labtalk_value,set_labtalk_var,get_labtalk_tree) - Manage projects (
create_project,save_project)
Quick start
- Install the
OriginMCP.opx(double-click it, or drag it onto Origin). On install, Origin downloads the server's Python dependencies in the background — the first install takes a minute. - Click the "Origin MCP" app in the Apps Gallery to start the server. A
message box confirms it's running. Click again to stop. The server listens on
http://127.0.0.1:8000/mcp. - Point your MCP client at the URL (see below) and have it call
connect_origin.
That's it — the server runs in the background while Origin is open and shuts itself down when Origin closes.
Connect your AI client
The app starts the server for you, so the client just connects to the URL:
{
"mcpServers": {
"origin-mcp": { "type": "http", "url": "http://localhost:8000/mcp" }
}
}
Auto-start at Origin launch (optional)
Clicking the app starts the server. To start it automatically every time Origin launches, add this to your Origin startup script:
run.section("%@A%@X\launch.ogs", autostart);
It's safe to call repeatedly — it does nothing if the server is already running.
Connecting from WSL
A WSL2 client can't reach Windows localhost, so the app binds the server in a
way WSL can reach (it is not exposed to your LAN — Windows Firewall still
blocks inbound on your physical network adapters).
- Connect to
http://host.docker.internal:8000/mcp(transport:http). - Allow the WSL subnet to reach the port. In an elevated PowerShell:
(New-NetFirewallRule -DisplayName "Origin MCP (WSL->host 8000)" -Direction Inbound ` -Action Allow -Protocol TCP -LocalPort 8000 -RemoteAddress 172.16.0.0/12172.16.0.0/12is the private WSL/Hyper-V range — not your Wi-Fi/LAN.)
⚠️ The server runs arbitrary LabTalk, so keep the firewall scope tight.
How it works
Clicking the app runs a small lifecycle manager inside Origin's embedded Python, which launches a separate, hidden sidecar process for the actual server. The sidecar attaches back to this Origin over COM and serves the MCP tools:
Origin (this instance)
│ click "Origin MCP" → launch.ogs → manage.py (start / stop / toggle)
▼
manage.py ── launches (hidden) ──► sidecar: mcp_bootstrap.py → origin_mcp_server.py
│ records host PID + a token │ attaches back to THIS Origin (COM)
▼ ▼
AI client ──► http://127.0.0.1:8000/mcp
The sidecar runs off Origin's UI thread, so the server never freezes Origin, and it exits on its own when Origin closes — no orphaned processes left behind.
Implementation details (the three-process design, COM lifecycle, and packaging)
live in CLAUDE.md.
Files
| File | Role |
|---|---|
launch.ogs |
App entry: click = toggle; [start]/[stop]/[status]/[setup]/[autostart] |
manage.py |
Lifecycle manager (runs in Origin's embedded Python) |
mcp_bootstrap.py |
Sidecar entry: attaches to the right Origin, then runs the server |
origin_mcp_server.py |
The MCP server and its tools |
AfterInstall.ogs |
Installs the server's Python dependencies on install |
BeforeUninstall.ogs |
Stops the sidecar before the app is removed |
Notes
AppIcon.pngis a placeholder — replace with Origin MCP branding before public distribution.- Single instance: the OS port
:8000acts as the lock. A second Origin instance that tries to start a server will fail to bind and exit quietly; the first instance keeps serving.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.