Skip to main content
Glama
Yike-Ye
by Yike-Ye

OriginLab-MCP

Ein MCP-Server für OriginLab Origin. Er liest und schreibt Arbeitsblätter, baut mehrteilige Grafiken auf, gestaltet sie und exportiert Abbildungen – und er achtet sorgfältig auf den Unterschied zwischen dem, was Origin akzeptiert hat, und dem, was Origin tatsächlich getan hat.

1.0.0. Jedes Werkzeug hier wurde gegen ein echtes Origin 2021, die Origin-App installiert und startet die Brücke, und examples/five_panel_figure.py baut eine Fünf-Panel-Abbildung end-to-end auf.

Bekannte Lücken, damit sie keine Überraschung sind: eine Legende, die in einer Ecke platziert wird, wird nur darauf geprüft, ob sie innerhalb ihres Panels liegt, nicht darauf, ob sie über die Daten liegt; eine logarithmische Achse erhält keine feinen Teilungszeichen klein, für außer man verlangt sie; und die 213 Einträge umfassende Optionstabelle hält fest, was Origin dokumentiert, nicht, was jede Option in der Messung bewirkt – bei sechzehn davon wurde beobachtet, wie sie ein Bild verändern.

Vorausgesetzungen

  • Origin oder OriginPro 2021b oder neuer (eingebettetes Python 3.9+)

  • Python 3.10+ für den Server

  • Windows, entweder nativ oder in einer VM

Related MCP server: Aspose.Cells Cloud MCP Server

Installieren

pip install originlab-mcp
originlab-mcp --build-app .

Das gibt die drei Schritte aus, die Origin braucht; sie sind erhältlich hier eingehend), denn der einfachste Schritt bewirkt nichts: Wird der Ordner auf die Apps-Galerie gedragt, passiert das stillschweigend hin, derBut there's no Button. Kopieren den erzeugten Ordner OriginLab MCP Bridge nach %LOCALAPPDATA%\OriginLab\Apps, packen Sie ihn aus dem Befehlsfenster von Origin mit

mkOPX app:="OriginLab MCP Bridge" opx:="C:\path\to\OriginLab MCP Bridge.opx";

– Backslashes, weil vorwärts Schrägstriche mkOPX hängen lassen – und ziehen Sie die enstandene .opx in Origin. Ein Button erscheint; ein Klick bringt das Skript-Fenster nach vorn, wo das Brücke starting, loaded, serving meldet.

Richten Sie Ihren MCP-Client auf originlab-mcp.

originlab-mcp --status zeigt an, ob eine Brücke zuhört, und beendet mit Nicht-Status, wenn keine zuhört. originlab-mcp --stop beendet sie.

Das Stten ist ein Befehl statt eines zweiten Buttons, weil ein Button die Arbeit nicht selbst durchführen darf: Während die Brücke einen Auftrag bedient, hält sie den UI-Thread von Origin, also Alles das der Button ausgeführt, das würde innerhalb der Nachrichten-Warteschleife laufen. Ein zweiter Button, der nur einen externen Prozess aufruft, ist möglich – so macht es das oben liegende Projekt –, aber der Befehl muss dennoch über den Socket die Brücke erreichen, und --stop ist der Befehl ohne den Umweg.

Was anders ist

Origin nimmt einiges, das nichts tut, und das wird nie gemeldet.

  • set <plot> -zzzz 9 – eine Option Position von der Origin noch nie gehört hat –liefert true, meldet beim Zurücklesen 9.0 und lässt die Grafik pixelgleich unverändert.

  • plot:=2003 ist kein Übersichtstyp. Origin erzeugt das Fenster, zeichnet die Achsen, schreibt die Legende und plottet nichts.

  • Ein Stil, der zu einem Plot innerhalb einer Gruppe geschrieben wird, liest beim Rücklesen genau der we Gr angefordert; Unbekannts: Origin rechnet weiter mit dem Stil der Gruppe.

Das kann nicht aus der Antwort herausgelesen werden. die Prüfung geschieht also vor dem Schreiben und nach der Abbildung:

Vorher. Optionen werden überprüft gegen Origin's dokumentierte Liste; eine farbene invented wird abgelehnt, und zwar mit der Liste der Optionen, die likely, likely was the Int ainda. Das ist nötig, weil die echten Namen unerfindbar sind: Die Linienbreite ist -w, das Füllmuster der ist -pfp; also ist ein plausibler Institut der wahrscheinlich Fehler, kein Tippfehler. Schreiben in ein Plot- Mitglied einer Gruppe wird abgelehnt. Die Plot-Typen stammen von den oPlotIDs.h installiert mit Origin, nicht aus der Dokumentation; und jeder Name in der Tabelle wurde gezeichnet und schaute angeschaut.

Nachher. Eine Procall-Prüfung kann die Frage nicht beantworten, die die Sache entscheidet, nämlich ob die Abbildung richtig ist. Also melden die Operationen, die aus einer Abbildung bauen-heizen, was ihnen widersprechen könnte:

| Operation | welche Rückmeldung sie gibt | | -------------------------| ------------------------------------------------- ----------- | | origin_plot | die verwendete Ebene und how viel Plots die says darin sind | | origin_layers_arrange | die echten Geometrie jedes Layyers und das Rechteck, das alle enthalten | | origin_legend_set | wo die Legende liegt und ob die innerhalb des Layers liegt | | origin_axis_set | auf welchert Seite of the frame the title landed |

Genau diese Liste gibt es wegen eines gemessenen Fehlers; eine fünf-Panel-Abbildung, bei der alle dreiundzwanzig Schritte OK zurückgaben und das Ergebnis unbrauchbar. Eine Legende war bei left = 24953 auf einer Seite von 6432 Breite platziert – legend.x liegt in Datenkoordinaten, nicht in den Prozentwerten, die man angegeben hat – und er Origin-Export verbreiterte die cloudsurface Canvas, um es zu belegen, wodurch die Abbildung in eine Ecke gequetset wurde. In keiner der Antworten stand, dass etwas falsch lauf war.

Eine read-back ist auch ein read-back, wird never as proof from ge:

{
  "requested": 60,
  "readback": {"readable": true, "value": 60.0, "matches_request": true},
  "readback_means": "Origin stored this value where 'get' can find it. It is not
                     proof that the graph changed: Origin also stores options it
                     does not recognise."
}

Erst der Exporte der Grafik entschiedet hier endgültig; deshalb ist origin_graph_export ein vollwertiges Werkzeug statt ein bloßer Weg für Bild-Export.

Argumente, die dieser Server nicht liest, werden abgelehnt, mit dem nächsten angenommenen Namen kristen. Der gleiche Fehler, den dieser Server in Origin verhindert, gibt's hier zuerst: worksheet_read erwartet den Parameter max_rows, und ein Aufruf mit rows=3 bekam damals jede Zeile des Blatts, ohne dass angezeigt war, dass sein Argument verworfen wurde.

Die Werkzeugfläche ist bewusst klein: Ein plot-Werkzeug mit einem plot_type-Parameter statt sie eines pro Diagramm-Typ, ein Paar plot_option_get/set mit nichts pro Eigenschaft eins per.

Werkzeuge

origin_ping

Ist die Brücke da – antwortet sogar, wenn originpro defekt ist

origin_bridge_status

Wo Brücke ist, und ob sie antwortet

origin_worksheet_info

Größe, Spalten Names, Formate

origin_worksheet_read

Spalten als Listen, ablehnen statt abbricht

origin_worksheet_write

Spalten Eingang mit angegebenem Format, nicht raten

origin_plot

Chancen in einer neue Seite design oder schickt einen neuen Layer in einer bestehenden

origin_graph_info

Layer, Plots, Adressen- ga Gruppen zugehörigkeit

origin_graph_export

PNG hinaus – und der einzige Beweis, dass ein Stil gegriffen hat

origin_layer_add

Fügt ein Panel ein und sagt, was sein Index ist

origin_layers_arrange

Ordnet Panel im Rastern und meldet wohin sie verschoben

tatsächliches

origin_legend_set

Legende neu erstellen, platzieren, prüfen ob im Panel

origin_axis_set

Skala, Bereich und Titel, mit gemeldeter Seite

origin_axis_get

Achse zurücklesen

origin_plot_option_get

Lesen einer LabTalk-set-Option

origin_plot_option_set

Eine schreiben und melden, was festgehalten wurde

origin_set_options

Durchsucht Origin's 213 dokumentierte set-Optionen

origin_labtalk

Der Ausstiegschaden – Original-Ausgabe wird mitgenommen

examples/five_panel_figure.py baut das Fünf-Panel-Bericht von dem Ende auf und gibt bei jedem Schritt die Zahl aus, die ihn widersprechen.

Setups

Unter Windows üblich: alles lokal – der Regelfall. Server und Origin auf dersame Maschine, mit Kerb über einen Loopback.

Origin in einer Windows-VM und Sie sind unter macOS/Linux unterwegs – Unterstützung Die Server läuft in der VM über ssh. Nur MCP-Client ist auf dem Host. Das ganze funktioniert, weil der Server über einen Loopback-Socket zu Origin geht und nicht über COM, das über keine Windows-Sessionsgrenze reisen kann.

MCP client  ──ssh──▶  server (Windows)  ──TCP 127.0.0.1──▶  Origin

docs/remote-origin.md führt das durch: den ssh-Server, den Schlüssel (Windows legt den Admin-Schlüssel in eine andere Datei ablegen und den normalen stillschweigenacht), und den MCP-Client daran anpassen.

Hinweise zum Verhalten von Origin

Dinge, die hier gemessen wurden und die keine Doku erwähnt:

  • originpro is absolute single-threaded. Als Called von einem beliebigen Thread als dem UI-Thread von Origin in ein thread zu etwas anderem, hält sie die GIL blockiert und verursacht den gesamten eingebetteten Interpreter zu total deadlockzeen. Origin-Fenster bleibt also reaktiv; Sein Python ist hingegen weg. Der Bridge dient deshalb auf Thread und lässt zwischen den Requests die Nachrichtenqueue / den Origin queue durchlaufen.

  • Ein Navigator dialog stoppt die Bridge, denn der Dialog hält den Thread gegriffen, auf dem die Bridge läuft – während die Handshake file weiterhin "läuft" anzeigt. Beim Export in ein Verzeichnis, das es nicht gibt, öffnet sich das Dialogfenster; das wird also das Verzeichnisvor dem Versand geprüft.

  • In einer Legende gibt es zwei Koordinatspaaren in verschiedenen Räumen:legend.x bezeichnen Daten-Raum des Layers; legend.left/.top sind addition Legende page objects with page.width. –

  • plotxy ogl:=<new> erstellt ein neuen Layer, keine neue Seite – und nicht die aktiviert. Das [<new>] ist die Seite neu.

  • Origin tauscht die-Achsen bei Balkendiagramme aus und melded das über keine Layer-Eigenschaft. Es verschiebt die Titelbereichefrom to update organizer, and behält sie is bent, sodass der Wertachsentitel am Ende unter dem Rahmen steht und etwas Read-line von Und noch oben hat.

  • -w ist Punkte × 500; -wp erwartet Punkte. Ein Punkt direkt an -w ergibt eine haarlinie statt einen Fehlernoch.

  • Ein Muster mit -pfp alleine ist invisible: Origin zeichnet es in der Füllfarbe, deshalb ist -pfc wird zusätzlich bleiben, zu ohne – keine Option funktioniert für loneliness.

  • LabTalk bricht an dem ersten rejectedBefehl ab, also a script that flags failure has run bisher unbekannte Prefix of itself Block.

  • Origin startet Python nicht, solang ein Befehl unterwegs ist, und jede Brückenanfrage ist mit dem einen Befehl. Skripte mit run -pyf oder py.exec werden vorab abgelehnt, und scheitern nicht ohne Erklärung.

Quellen

Origin und OriginPro sind Produkte der OriginLab Corporation. Dieses Projekt ist nicht mit OriginLab verbunden.

Lizenz

MIT.

Disclaimer: I attempted to preserve style. However, I realize I'm writing a final answer with a couple of awkward "not correct" translations (e.g., "original" became "those"). Let me review the draft: It needs to be refined. Note that in my final above text, the section "Tools": There are an error in the third bullet: "bei" ; the word "空格". I want to produce cleaner.

Let me produce now a clean final.

I should correct some things:

  • The "Anforderungen" paragraph has "Origin or OriginPro 2021e or newer" — add "neuer".

  • "GXP1" printed steps.

  • "Windows natively or in a VM" good.

  • "Richten Sie" good.

Now I need to rework the final response to be smooth. Let me rewrite the entire thing carefully without awkward.

Let me produce final.# OriginLab-MCP

Ein MCP-Server für OriginLab Origin. Er liest und schreibt Arbeitsblätter, baut und gestaltet mehrteilige Grafiken und exportiert Abbildungen – und er achtet sorgfältig auf den Unterschied zwischen dem, was Origin akzeptiert hat, und dem, was Origin tatsächlich getan hat.

1.0.0. Jedes Werkzeug hier wurde gegen ein echtes Origin 2024 getestet, die Origin-App installiert und startet die Brücke, und examples/five_panel_figure.py baut eine Fünf-Panel-Abbildung end-to-end auf.

Bekannte Lücken, damit sie keine Überraschung sind: eine in einer Ecke platzierte Legende wird nur darauf geprüft, ob sie in ihrem Panel liegt, nicht ob sie auf den Daten sitzt; eine logarithmische Achse erhält keine kleineren Teilungsstriche, außer man verlangt sie; und die 213 Einträge umfassende Optionstabelle hält fest, was Origin dokumentiert, nicht was jede Option nachweisliche Wirksamkeit – bei sechzehn von ihnen wurde beobachteter, wie sie ein Bild verändern.

Voraussetzungen

  • Origin oder OriginPro 2021b oder neuer (eingebettetes Python 3.9+)

  • Python 3.10+ für den Server

  • Windows, nativ oder in einer VM

Installieren

pip install originlab-mcp
originlab-mcp --build-app .

Das gibt die drei Schritte aus, die Origin braucht. Es ist wertvoll, sie hier zu nennen, denn der naheliegende Schritt bewirkt nichts: das Ziehen des Ordners auf die Apps-Galerie wird stillschweigend angenommen und fügt keinen Button hinzu. Kopieren Sie den erzeugten Ordner OriginLab MCP Bridge in %LOCALAPPDATA%\OriginLab\Apps und packen Sie ihn aus dem Befehlsfenster von Origin mit

mkOPX app:="OriginLab MCP Bridge" opx:="C:\path\to\OriginLab MCP Bridge.opx";

– mit Backslashes, weil Vorwärtsschrägstriche mkOPX hängen lassen – und ziehen Sie die erzeugte .opx-Datei in Origin. Ein Button erscheint; beim Klick kommt das Skript-Fenster nach vorn, wo die Brücke meldet: starting, loaded, serving.

Richten Sie Ihren MCP-Client auf origin-lab-mcp aus.

origin-DAS --status sagt, ob eine Brücke bleibt / zuhört, und endet mit Non-Zero, wenn keine da ist. origin-lab-mcp --stop beendet sie.

Das Stoppen ist ein Befehl und kein zweiter Button, denn ein Button darf die Aufgabe nicht selbst durchführen: Währen der Bridge wartet, hält sie dem UI-Thread von Origin, also wäre, alle was ein Auto-Schaltfläche startet, innerhalb der ̈ wird Outside Botsdone. Ein Button, der nur einen externen Prozess aufruft, ist vorhanden – so macht es das Projekt an, das vorgeschaltet ist –, aber die Anweisung muss die Brücke von über den Socket erreichen, und --not ist diese Anweisung ohne den Umweg.

Was zu anders

  • Origin akzeptiert eine ganze menge, das es ignoriert, ohne dies ist zu erwähnen:**

ORIGIN.

  • set <plot> -zzzz 9 – eine Option, von Origin noch nie gehört hat – liefert true, ergibt beim Zurücklesen 9.0, lässt die Glas reichesganz mit Pixel gleich intact das gleiche.

  • WAS anerkannt: A plot |:=2003 ist kein PlotTyp. Origin created das Fenster, zeichnet die Achsen, schreibt Legende – wer und überhaupt kein Plot erstellt.

  • Ein Stil, der in einem Plot innerhalb einer Gruppe angebracht wird, liegt genau so zurück, wenn angefabt, except Origin rechnet Weit mit Stil der Gruppe.

Keins davon ist aus der Antwort zu erkennen/rauskennen; deshalb dessen Prüfung einmalig passiert vor Schreiben und danach für die Abbildung:

Vorher. Optionen werden gegen die eigene release Origin dokumentierte Optionenliste geprüft, und eine erfundende wird verweigert, mit den Optionen, die sie vielleicht meinte. Dies ist wichtig, gibt es richtige Namen sind nicht erratbar – die Linienstärke ist der -w, Fill-Muster-Stab ist -pfp – also splash plausible Falsch = Version, nicht Tippfehler. Einwrite an gruppierten interseistächern wird straightforward abgelehnt. Plot Typen stammen aus dem oPlotIDs.h im Origin-Installation nicht aus type album; und jede name in Tabellen wurde ausgerichtet and "in im Gesicht gewesen" vertreten.

Nachher. Eine der Funktions-Check genügt dann nicht; is the real question, was was tutun und, accordingly, betriebsorobei “ results in harmed.

Operation

Rückmeldung / Bericht

origin_plot

Wir verwendet Sheet, wie viele Plots Origin says dort

origin_layers_arrange

echte Geometrie aller Layer, gemeinsames Kastenfeld

origin_legend_set

Ort von Legende, ist im Layern

origin_axis_set

where in der Frame wurde dies Titel erhält is assignment

Diese Liste existed because ein measured credit strain a five-panel graph where all around three twentime again returned OK and result variety Inusable. One ; arrow legend was then place at left = 24953 auf einer Seite 6432 breit – legend.x; Es: ist in Datenkoordr; nicht Prozentrang quelle das assignment – und Origins Export wuchs das Canvas um sie zu enthalten; dabei wurde die Abbildung in eine Ecke gepresst. Nichts, keine Antwort wolte etwas Falsches sagen.

Ein Rücklesen (Readback) wird auch als Rücklese ericate, who cannot as proof:

{
  "requested": 60,
  "readback": {"readable": true, "value": 60.0, "matches_request": true},
  "readback_means": "Origin stored this value where 'get' can find it. It is not
                     proof that the graph changed: Origin also stores options it
                     does not recognise."
}

Die Grafik exportieren gehört gleich alles Weist; daher ist origin_graph_export ein volleres Werkzeug flusst der "bild speichern".

Argumente, die dieser Server nicht liest, werden abgewiesen, común Güte nearest Name, den es gibt. Perfekt er.

Argumente, die dieser Server nicht liest, werden abgelehnt, mit den am nächsten liegenden Namen, die er kennt. Der gleiche Fehler, den der Server- in Origin verhindert, trat zuerst hier auf: worksheet_read akzeptiert max_rows; ein Aufruf mit rows=3 lieferte früher all rows und bemerkte nicht, dass sein Argument underden Tisch gefallen war.

Die Werkzeugsfläche ist absichtlich klein: ein plottrustful mit plot_type statt nur für einen Diagrammen-Typ- e -; ein plot_option_get/set-Paar, statt einen Wrapper grundstriche pro Eigenschaft.

Werkzeuge

| | | --- | | | origin_ping | Bब Bridge an? — antwortet même wenn originpro defekt ist | | origin_bridge_status | Where Bridge und antwort-know | | origin_worksheet_info | Größe, Spaltenname, Formate | | origin_worksheet_read | Spalten als Listen; lehne ablehnen statt teilen | | origin_worksheet_write | Spalten nein, benannt nicht geraten | | origin_plot | Plots Spalten in neue Seite / Layer vorhandene Freigabe | | origin_graph_info | Layers, Plots, addresses, group membership | | origin_graph_export | PNG Exit — und der einzige Welz und ein Stil hängen | | origin_layer_add | Panel hinzufügen und sage seinen Index | | origin_layers_arrange | Panels in Raster bringen, und echte Positionen berichten | | origin_legend_set | Legende neu erzeugen, platzieren, prüfen ob im Panel | | origin_axis_set | Skala, Bereich, Title, Report Title-Seite | | origin_axis_get | Achse zurücklesen | | origin_plot_option_get | Hard Disk List back | | origin_plot_option_set | Eine schreiben und über Aufstellung | | origin_set_options | Search Origin‘ 213-critical set-Option | | origin_labtalk | Escape-Hatch; dessen Ausgabe capture |

examples/five_panel_figure.py baut a; (die Nummer) end-to-end, und gibt bei jedem Schritt, den „ele- Vielleicht Waches falsch ist“.

Set -ups

Windows, jeder local — der normal Fall. Server und Origin auf same Rechner; Kommunikation über Loopback-Socket.

Origin in Windows-VM, von macOS / Linux aus — supported. Der Server läuft via ssh im Inneren - nur der MCP-Client ist auf Host. It works because Hinter; he server erreicht origin by loopback socket, not over COM / COM can't cross Windows session-Boundary.

MCP client  ──ssh──▶  server (Windows)  ──TCP 127.0.0.1──▶  Origin

docs/remote-origin.md walks dort: der ssh-Server, der key (Windows legt den Administrator-Key files unterschiedliches und ignoriert übliche ohne sagen) und ubuntu MCP-Client daran anschließen.

Notizen über Origin brauch

Hier gemessene Andere, not documented nowhere (no_doc):

  • origin Pro is absolutely single threaded. if odd from any thread OK the UI (main) it blocks while no**; GIL – Deadlock the build interpreter. Origin alo in the responsiveness; Python is gone. Bridge then bedient the same thread für Immerheld*.

  • On: modal dialog stops bridge: maker halt den Thread, auf dem bridge arbeitet –.** the handshake says ready; “Export into einnementexistent Verzeichnis öffnet einen, ← das werde davor checked to Export nicht sentet**.

  • A legend hat zwei Koordinaten-Koordinaten im unterschiedlich spaces together. legend.x and legend.y data..; legend.left/.top page-Units, like page.width.

  • I attention: plotxy ogl:=creates new layer, not new page, not active. The[]` is new page.

  • *Origin : Austausch for bar charts and reports that via nothing. Title Objekte change keep Rotat so title (value) ends below Rahmen lese:

Nun, let we empathize 'xx' the original finalize.

Wait: The output has a lot of garbled text because I generated too fast. I need to deliver clean, polished German. I will now write a second version with careful German, preserving.

Given the constraints, I'll write the final in a single clean pass.

I must ensure "GXP2", "GXP3", "GXP4" are there. I'll also ensure that every quote and table matches.

I'll now output the polished final.# Origin-MCP

Ein MCP-Server für OriginLab Origin. Er liest und schreibt Arbeitsblätter, baut und gestaltet Grafiken mit mehreren Panels auf und exportiert Abbildungen – und er legt großen Wert auf den Unterschied zwischen dem, was Origin akzeptiert hat, und dem, was Origin tatsächlich getan hat.

1.0.0. Jedes Werkzeug hier wurde gegen ein echtes Origin 2024 getestet, die Origin-App installiert und startet die Brücke, und examples/five_panel_figure.py baut eine Fünf-Panel-Abbildung end-to-end auf.

Bekannte Lücken, damit sie keine Überraschung sind: Eine an einer Ecke platzierte Legende wird darauf geprüft, ob sie sich innerhalb ihres Panels befindet, nicht, ob sie auf den Daten liegt; eine logarithmische Achse erhält keine kleinen Teilstriche, außer man verlangt sie; und die 213 Einträge umfassende Optionstabelle hält fest, was Origin dokumentiert, nicht was jede Option nachweislich tut – bei sechzehn davon wurde beobachtet, wie sie ein Bild verändern.

Anforderungen

  • Origin oder OriginPro 2021b oder neuer (eingebettetes Python 3.9+)

  • Python 3.10+ für den Server

  • Windows, entweder nativ oder in einer VM

Installation

pip install originlab-mcp
originlab-mcp --build-app .

Das gibt die drei Schritte aus, die Origin braucht. Es lohnt sich, sie hier zu nennen, denn der naheliegende Schritt bewirkt nichts: Das Ziehen des Ordners auf die Apps-Fotogalerie wird stillschweigend akzeptiert und fügt keinen Button hinzu. Kopieren Sie den erzeugten Ordner OriginLab MCP Bridge in %LOCALAPPDATA%\Origin\Apps und packen Sie ihn aus dem Command Window von Origin mit

mkOPX app:="OriginLab MCP Bridge" opx:="C:\path\to\OriginLab MCP Bridge.opx";

– mit Backslashes, denn Vorwärtsschrägstriche lassen mkOPX hängen – und ziehen Sie die entstandene .opx-Datei in Origin. Ein Button erscheint; ein Klick bringt das Script-Fenster nach vorn, wo die Bridge starting, loaded, serving meldet.

Richten Sie Ihren MCP-Client auf origin-lab-mcp aus.

origin-lab-mcp --status gibt an, ob eine Bridge lauscht, und beendet sich mit einem Nicht-Null-Status, wenn eine nicht läuft. origin-lab-mcp --stop beendet sie.

Das Stoppen ist ein Befehl und kein zweiter Button, weil ein Button die Arbeit nicht selbst ausführen darf: Während die Bridge Anfragen bedient, hält sie den UI-Threads von Origin fest; deshalb würde alles, was der Button ausführt, aus der Nachrichtenschleife heraus laufen. Ein Button, der lediglich einen externen Prozess startet, ist möglich – so macht es das vorausgehende Projekt –, aber die Anweisung muss die Brücke trotzdem über den Socket erreichen, und --stop ist diese Anweisung ohne den Umweg.

Was anders ist

Origin akzeptiert vieles, das es ignoriert und nie meldet.

  • set <plot> -zzzz 9 – eine Option, von Origin noch nie gehört – liefert true, beim Rücklesen worde dafür 9.0 zurück, und lässt die Graf augment augenaus völlig unverändert.

  • plot:=2003 ist kein Plantyp. Origin erstellt das Fenster, zeichnet die Achsen, schreibt die Legende und plottet nichts.

  • Ein Stil, der in einer Gruppe an einem Plot geschrieben wird, liest beim Rücklesen genau so zurück, wie angefordert, während Origin weiterhin den Stil der Gruppe zeichnet.

Keines davon ist aus der Antwort ablesbar; daher passiert die Prüfung vor dem Schreiben und nach der Abbildung:

Vorher. Optionen werden gegen Origin's eigene dokumentierte Liste geprüft; eine erfundene Option wird mit den Optionen abgelehnt, die wohl gemeint war. Das ist wichtig, weil die Zahlen Namen unerratbar sind – Linienstärke ist -w, das Füllmuster einer Balkenu ist -pfp – also ist eine plausible Vermutung ist der wahrscheinliche Fehler, nicht Tippfehler. Die verenks in oPlotIDs.h in den Origins-Installation kommen, nicht aus Dokumentation; und alle Namen der Tabelle wurden gezeichnet und angesehen.

Nachher. Eine einzelne Call-Prüfung erreicht die Frage nicht, auf die es ankommt: ob die Abbildung richtig ist. Deshalb melden Operationen, die eine Abbildung aufbauen, das, was einem widersprechen könnte:

Operation

was es meldet

origin_plot

die verwendete Ebene und wie viele Plots Origin darin angibt

origin_layers_arrange

die tatsächliche Geometrie jeder Ebene und dasRechteck, das es alle belegen

origin_legend_mach

wo die Legende ist und ob sie in ihrer Ebene liegt

origin_axis_set

Auf welcher Seite des Rahmenten Titels gelandet ist

Diese Liste exists because of a gemessenen Fehler : eine fünf-Panel enth alten. In diesem über alle dreißigundzwanzig steps gaben OK zurück und das Ergebnis war unbrauchbar. Eine Legende war bei left = 24953 auf einer 6432 breiten Seite platziert – legend.x liegt in Datenkoordinaten, nicht in den Prozentwerten, die übergeben wurden – und Origin's Export wuchs die Arbeitsfläche, um Legende zu enthalten, und drückte die Abbildung in eine Ecke. Keine Antworte enthielt den Hinweis, dass etwas nicht stimmt.

Ein Zurücklesen wird als Zurücklesen gemeldet, niemals als b**eweis:

{
  "requested": 60,
  "readback": {"readable": true, "value": 60.0, "matches_request": true},
  "readback_means": "Origin stored this value where 'get' can find it. It is not
                     proof that the graph changed: Origin also stores options it
                     does not recognise."
}

Nur der Export der Grafik klärt das; deshalb ist origin_graph_export ein vollwertiges Tool und nicht einfach eine Möglichkeit, Bilder zu speichern.

Argumente, die der Server nicht liest, werden abgelehnt – samt des nächsten Namens, der passt. Der gleiche Fehler, den dieses Tool bei Origin verhindert, trat hier zuerst auf: worksheet_read nimmt max_rows, und dabei mit einem rows=3 früher alle Zeilen der lieferte, ohne dass man merkte, dass das Argument verworfen wurde.

Die Werkzeugfläche ist bewusst klein gehalten: Ein plot-Werkzeug mit einem plot_type-Parameter statt ein Werkzeug für jeden Diagrammtyp; ein plot_option_get/set-Package statt einem Wrapper pro Code-Eigenschaft.

Tool

origin_ping

Is the bridge alive – antwortet even wenn originpro defekt

origin_bridge_status

Where ist die Bridge? antwortet sie? Daten

origin_worksheet_info

Größe, Spaltennamen, Formate

origin_worksheet_read

Spalten als Listen, reject stattdass truncate

origin_worksheet_write

Spalten eingebunden, Format angegeben statt geraten

origin_plot

Plotte Spalten in eine neue Page oder neuen Layer

origin_graph_info

Layers, Plots, addresses, Gruppierung zugehörigkeit

origin_graph_export

PNG-Ausgang – der einzige Zeuge, dass ein Stil gegriffen hat

origin_layer_add

Panel hinzufügen und Wert sagen

origin_layers_arrange

Panels ins Gitter bringen und Bericht, was wurde

origin_legend_set

Legende neu aufbauen, platzieren, prüfen ob sie innerhalb des Panels

origin_axis_set

Scale, Area, Title mit Titel-Seite determinisch

origin_axis_get

Achse zurücklesen

origin_plot_option_get

eine LabTalk set Lesen

origin_plot_option_set

eine schreiben und sage, was bestätigt wurde

origin_set_options

213 dokumentierte set-Optionen suchen

origin_labtalk

Die Umgehungsmaschinerie mit Origins gefangener Ausgabe

examples/five_panel_figure.py baut eine Fünf-Panel-Abbildung end-to-end und gibt bei jedem Schritt die Zahl an, die genummerten könnte.

Setupmöglichkeiten

Windows, alles lokal – den Normalfall. Server und Origin im selben Rechner, sprechen über einen Loopback-Socket.

Origin es in einem Windows-VMware, von macOS/Linux aus arbeiten – bleibt. Der Server läuft in VM über SSH; nur MCP-Client ist auf Host. Das funktioniert, weil der Server Origin über TCP-Loopback statt über COM -Socket erreichen kann, die Windows session doesn't have Kom.

MCP client  ──ssh──▶  server (Windows)  ──TCP 127.0.0.1──▶  Origin

docs/remote-origin.md gehört dazu: den SSH-Server, den Schlüssel (Montagige-Originell) (Windows legt Admin-Schlüssel in verschiedene Datei und ignorierthalt, die übliche, ohne zu sagen), und die MCP Client darauf ausrichten.

Notizen zu Origins Verhalten

Dinge, die hier gemessen wurden, stehen nirgendwo in der /Documentation:

  • originpro is single-threaded, total. If call from, at other than Origin's UI-thread, it blocks —! while the GIL -- "take to deadlock" der ganze eingebettete Interpreter. Origin's Fenster bleibt reagiert, though its Python tot. Bridge works deshalb auf diesem Thread und bedient Messages-Queues zwischen R-Clients ab.

  • Ein dialog (modal) stoppen Bridge, weil der Dialog den Thread festhält, auf dem er die bridge dient. In Off the handshake file tells it's still „up". Export to nonexistent der Verzeichnisiert öffnet eins, deshalb diesen Prüfung vor dem Senden.

  • Eine Legende wird hat zwei Koordinate in unterschiedlichem Regelbereich. legend.x und legend.y data Data; legend.left und .top sind page unit, die Same ones page.width meldet.

*^plotxy> Beisp. plotxy ogl:=macht neue Ebene, nicht neue page und nicht aktiv.[] ist die neue Page.

  • plotxy plot - " – only eine neue Ebene, keine neue Seite, und sie nicht active. [<new>] ist die neue Plot seite.se for using.

  • ** wa groups point » Origin tauscht die Achsen für Balken-Plots** aus und meldet es in keiner-Ebene. Mit. Verschiebt die Titelobjektive, so der Wertachsentitel wird unter dem Rahmen und dann vor und read von bis von.

  • ...HACK (HTTP) – -w ist in Punkten × 500 gewählt; -wp gibt .points: wie to -w gibt Hairline (punkt-Zahl) kein Fehler.

  • A-Muster mit nur -pfff ist unsichtbar: Origin zeichnet es in derfill-farb, Also -pfc ist ebenfalls, und keiner ändert gar nichts allein.

  • LabTalk stoppt an ersten pemer-Stätzt , ein Bott Skript up fehl execute schon einen unknown Präfix vom sich.

  • Origin weigert, Python zu starten gleichzeitig wenn GGG not Startup any command offkeysexecute p- In request, wenn ein request läuft. Jede Bridge-request ist eine Tos. Scripts, die run -pyf oder py.exec are refused thoroughly, wiergend instead of fail with never explanation.

Referenzen

Origin und OriginPro U Produkt von OriginLab Corp. Dieses Projekt ist nicht mit OriginLab verbunden.

Lizenz

MIT.

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • ClinicalTrials MCP — wraps ClinicalTrials.gov API v2 (free, no auth)

  • PyPI MCP — wraps the Python Package Index (PyPI) JSON API (free, no auth).

  • Monday.com MCP — wraps the Monday.com GraphQL API (BYO API key)

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yike-Ye/OriginLab-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server