origin-mcp-kimi
# origin-mcp-kimi
`origin-mcp-kimi` is a Kimi Code CLI optimized fork of
[`origin-mcp`](https://github.com/Ge-Shun/origin-mcp). It is a local Model
Context Protocol (MCP) server that lets AI assistants control
Origin/OriginPro on Windows through OriginLab's Python automation interface.
This fork adds **adaptive Origin path detection** so the bridge automatically
finds Origin's embedded Python `site-packages` directory, fixing the common
`ModuleNotFoundError: No module named 'pandas'` error that appears even after
`pip install pandas` succeeds inside Origin.
[简体中文](README.zh.md)
## What is different from upstream?
| Feature | `origin-mcp` | `origin-mcp-kimi` |
|---|---|---|
| Adaptive Origin install / `site-packages` detection | manual | automatic |
| Kimi Code CLI MCP config helper | no | included |
| Recommended client | any MCP client | Kimi Code CLI |
The core tool surface (worksheet, plotting, analysis, export, template library,
etc.) is inherited from the upstream project.
## Requirements
- Windows
- Origin or OriginPro installed and licensed
- Origin/OriginPro 2026 is the primary tested target; other versions are not
guaranteed
- Python 3.10+ for the MCP server core
- [Kimi Code CLI](https://kimi.com/) (recommended; any MCP client works)
## Installation
1. Clone this fork:
```bash
git clone https://github.com/wxxuan2000-gif/origin-mcp-kimi.git
cd origin-mcp-kimi
```
2. Create a virtual environment and install in editable mode:
```bash
python -m venv .venv
.venv\Scripts\python.exe -m pip install -e ".[origin,dev]"
```
If you also plan to run `pytest` or linting, install the `dev` extra as shown
above; for daily use `.[origin]` is enough.
## Kimi Code CLI Configuration
The repository includes a helper that writes the correct MCP server entry into
your Kimi CLI config file (`%USERPROFILE%\.kimi\mcp.json`):
```bash
.venv\Scripts\python.exe scripts\install_kimi_mcp.py
```
The resulting config looks like this:
```json
{
"mcpServers": {
"origin-mcp-kimi": {
"command": "D:\\path\\to\\origin-mcp-kimi\\.venv\\Scripts\\python.exe",
"args": ["-m", "origin_mcp"]
}
}
}
```
Restart Kimi Code CLI or reload the MCP server list to pick up the new server.
If you prefer to edit `mcp.json` manually, replace the `command` path with the
absolute path to your virtual environment's `python.exe`.
## Start the Origin Bridge
The bridge must run inside Origin's embedded Python so `originpro` stays on the
Origin UI thread.
### Option A: Origin Apps (recommended)
Build and install the two bridge Apps once:
```bash
.venv\Scripts\python.exe scripts\build_origin_app.py --force --install
```
Then in Origin's Command Window run:
```labtalk
mkOPX app:="Origin MCP Bridge Start" opx:="%@AD:\BaiduSyncdisk\wxx_note\T0004_Origin\origin-mcp-kimi\build\origin-app\Origin MCP Bridge Start.opx";
mkOPX app:="Origin MCP Bridge Stop" opx:="%@AD:\BaiduSyncdisk\wxx_note\T0004_Origin\origin-mcp-kimi\build\origin-app\Origin MCP Bridge Stop.opx";
```
> Use backslashes `\` and wrap paths in quotes. If the command window shows no
> `>>` prompt, wait a few seconds; if Origin hangs, force-close and retry.
Drag the generated `.opx` files into Origin to register them. After that, click
**Origin MCP Bridge Start** in the Apps gallery to start the bridge and
**Origin MCP Bridge Stop** to stop it.
### Option B: Origin Python Console (one-off / troubleshooting)
Open Origin's **Python Console** and run:
```python
import runpy
runpy.run_path(r"D:\BaiduSyncdisk\wxx_note\T0004_Origin\origin-mcp-kimi\addon.py", run_name="__main__")
```
Use the absolute path to your `addon.py`. A `Bridge is running inside Origin.`
message confirms startup; keep the console open while using the tools.
> If pasting multi-line code gives `SyntaxError: multiple statements found while
> compiling a single statement`, wrap the code in `exec("""...""")` or run one
> line at a time.
## Adaptive Origin Path Detection
`origin-mcp-kimi` automatically looks for Origin in common locations:
- `C:\Origin`, `C:\Program Files\OriginLab`, `C:\Program Files (x86)\OriginLab`
- `D:\Origin`, `D:\Program Files\OriginLab`, `D:\Program Files (x86)\OriginLab`
- The directory containing `sys.executable` when running inside Origin
You can override detection with environment variables:
- `ORIGIN_INSTALL_DIR` — root folder of the Origin installation
- `ORIGIN_EXE` — full path to `Origin64.exe` or `Origin.exe`
- `ORIGIN_MCP_SITE_PACKAGES` — exact `site-packages` path to use
If `pandas` and `numpy` are already importable, no path manipulation is
performed.
## Troubleshooting
### `No module named 'pandas'` inside Origin
Even if `pip install pandas` appeared to succeed, the package may have been
installed into `<Origin>\Lib\site-packages`, which Origin's Python Console
does not always put on `sys.path`. This fork detects that directory and adds it
automatically. If it still fails, set:
```bash
set ORIGIN_MCP_SITE_PACKAGES=D:\Origin\Lib\site-packages
```
and restart the bridge.
### `SyntaxError: multiple statements` in Origin Python Console
Origin's Python Console sometimes rejects multi-line paste. Use:
```python
exec("""
import runpy
runpy.run_path(r"D:\\BaiduSyncdisk\\wxx_note\\T0004_Origin\\origin-mcp-kimi\\addon.py", run_name="__main__")
""")
```
### mkOPX shows no `>>` prompt
`mkOPX` can take several seconds. If Origin becomes unresponsive, force-close
Origin, reopen it, and retry. Make sure the App folder path uses backslashes.
## Security
The bridge listens only on `127.0.0.1` and uses a per-session token by default.
Keep the handshake file (`%TEMP%\origin-mcp\bridge.json`) owner-readable. See
the upstream [Security](#security) notes for details.
## License
MIT. See [LICENSE](LICENSE).
## Acknowledgments
This fork is based on
[`Ge-Shun/origin-mcp`](https://github.com/Ge-Shun/origin-mcp). All credit for
the original MCP server and tool surface goes to the upstream authors.
TDQS
Scored across 63 tools
Most tools have distinct purposes, but there is potential confusion among the many plot creation tools (e.g., 'origin_plot' with a 'kind' parameter vs. dedicated 'origin_plot_*' tools) and between 'origin_execute_figure_spec' and 'origin_plan_figure_spec'. Overall, descriptions are clear enough to differentiate.
All tools follow a consistent 'origin_verb_noun' pattern (e.g., 'origin_add_calculated_columns', 'origin_plot_scatter'). The naming is uniform and predictable, enhancing usability.
With 63 tools, the server is extensive but covers a complex domain (Origin software). It exceeds the typical 'heavy' threshold (25+), which may be overwhelming, but each tool serves a specific purpose, and the count is reasonable given the breadth of functionality.
The tool surface is comprehensive, covering data import, manipulation, multiple plot types, analysis, graph customization, template management, and background tasks. Minor gaps exist, such as no explicit data export tool (other than graph export), but the core workflows are well-covered.