gauss-mcp
gauss-mcp
Steuern Sie GAUSS von Python aus und stellen Sie es LLM‑Clients über das Model Context Protocol bereit.
Autor: Dr Merwan Roudane
Erstellt und getestet mit GAUSS 26.1.1 unter Windows.
Warum es dieses Projekt gibt
Aptech veröffentlicht eine Referenz für KI-Assistenten, damit diese besseren GAUSS-Code schreiben. Aber Schreiben ist nicht Ausführen: Ein Assistent, der den Code nicht ausführen kann, erfährt nie, ob er funktioniert hat oder wie die Zahlen lauteten. Dieses Projekt verbindet einen Assistenten mit einer echten GAUSS‑Installation, sodass die Ergebnisse von GAUSS stammen und nicht vom Modell.
Related MCP server: julia-mcp
Wie es GAUSS ansteuert
Über tgauss, den Terminal-Build, der mit einer normalen GAUSS‑Installation geliefert wird – nicht über die GAUSS Engine, die zwar leistungsfähiger ist, aber einen separaten Lizenzschlüssel von Aptech benötigt.
Jeder Aufruf ist ein eigener tgauss‑Prozess, daher bleibt normalerweise nichts erhalten. Der Workspace wird beim Verlassen gespeichert und beim nächsten Aufruf wiederhergestellt. So verhält sich eine Abfolge von Aufrufen wie eine durchgehende Sitzung: Eine Matrix, die in einem Aufruf erzeugt wurde, ist auch im nächsten noch da.
Installation
Die Distribution auf PyPI heißt gauss-lang-mcp: Das einfache gauss-mcp war bereits von einem unzusammenhängenden Paket über Import-Workflows vergeben, das nichts mit der Aptech-Sprache zu tun hat. Der Importname bleibt gauss_mcp.
pip install "gauss-lang-mcp[pandas]"GAUSS wird automatisch unter C:\gauss* und C:\Program Files\gauss* gefunden. Setzen Sie GAUSS_HOME, um zwischen Installationen zu wählen.
Verwendung als Bibliothek
from gauss_mcp import Gauss
with Gauss() as g:
g.run("""
rndseed 90210;
n = 400;
x = rndn(n, 1);
y = 1.25 + 0.8*x + 0.3*rndn(n, 1);
des = ones(n,1)~x;
bhat = invpd(des'des)*des'y;
""")
print(g.get_matrix("bhat")) # [[1.2489...], [0.8043...]]Werte werden als CSV übertragen und nicht als gedruckter Text, sodass sie die volle doppelte Genauigkeit behalten, statt von der Anzeigerundung von GAUSS erfasst zu werden.
g.run("pi_like = 3.14159265358979;")
g.get_scalar("pi_like") # 3.14159265358979, every digitpandas in beide Richtungen:
frame = g.to_dataframe(["x", "y"])
g.from_dataframe(frame)Verwendung als MCP-Server
{
"mcpServers": {
"gauss": { "command": "gauss-lang-mcp" }
}
}Werkzeuge
Werkzeug | Zweck |
| Wo sich GAUSS befindet, seine Version und was der Workspace enthält |
| Hauptwerkzeug. GAUSS-Code ausführen und die Ausgabe zurückgeben |
| Jedes Symbol mit Typ und Dimensionen |
| Typ und Form eines einzelnen Symbols |
| Eine Matrix mit voller Genauigkeit auslesen |
| Eine Matrix aus den in der Konversation angegebenen Zahlen erzeugen |
| Daten zwischen Dateien und Workspace verschieben |
| Mit leerem Workspace von vorn beginnen |
Fehler
GAUSS meldet einen eigenen Code, eine eigene Meldung und eine eigene Zeile; diese werden durchgereicht:
GaussError: G0025: Undefined symbol: 'no_such_thing' on line 2Die Zeile bezieht sich auf Ihren Code. Die Wiederherstellung des Workspace wird jedem generierten Programm vorangestellt, wodurch sich die Zählung von GAUSS um eine Zeile verschiebt. Diese Verschiebung wird korrigiert, bevor Sie die Zeile sehen.
Wissenswertes Verhalten
Eigenheiten von GAUSS und von tgauss, die dieses Paket für Sie übernimmt – jede davon an einer echten Installation verifiziert, nicht nur angenommen.
Der Exit-Code ist immer 0, egal ob das Programm erfolgreich war oder abgebrochen ist. Er trägt nichts; Fehler werden daher stattdessen aus stderr gelesen.
stdout ist sauber. Banner und Job-Header gehen nach stderr, sodass die eigentliche Programmausgabe nicht gefiltert werden muss.
GAUSS kompiliert, bevor es ausgeführt wird. Ein undefiniertes Symbol bedeutet, dass nichts ausgeführt und keine Ausgabe erzeugt wird. Ein Laufzeitfehler hinterlässt die bis dahin erzeugte Ausgabe, gefolgt von „Program execute failed“.
Symbolnamen ignorieren die Groß-/Kleinschreibung.
Xundxsind dasselbe Symbol; eine Zuweisung an das eine überschreibt die andere. Das überrascht alle, die von R oder Python kommen.Das Kind darf stdin nicht erben. Unter MCP ist das stdin des Servers der JSON-RPC-Stream; ein
tgauss, das diesen Stream erben würde, würde selbst das Protokoll lesen. Jeder Subprozess-Aufruf trennt stdin ab.Für die Wiederherstellung eines Workspace wird
useverwendet, nichtloadall.saveallschreibt eine.gcg-Datei, unduse <name>;muss die erste Anweisung des Programms sein, das die Datei liest.
Tests
python tests/test_offline.py # 10 tests, no GAUSS needed
python tests/test_live.py # 24 tests, drives a real installationLizenz
MIT. Copyright (c) 2026 Merwan Roudane.
Maintenance
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
- FlicenseAqualityDmaintenanceAllows LLMs to execute Wolfram Language code in a secure, session-based environment by providing an interface to interact with a Wolfram Mathematica kernel.33
- AlicenseAqualityBmaintenanceEnables AI assistants to execute Julia code efficiently with persistent sessions, avoiding startup costs and maintaining state across calls.383MIT
- AlicenseAqualityAmaintenanceEnables AI agents to interact with the Baltamatica scientific computing kernel, executing code, managing variables, and running scripts while preserving workspace state across calls.64MIT
- FlicenseNot gradedqualityCmaintenanceEnables ISLI agents and MCP clients to dispatch natural-language coding and terminal tasks to a locally-installed Claude Code CLI, supporting both one-shot execution and persistent sessions with workspace and security controls.
Related MCP Connectors
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Securely search and manage workspace context files for AI agents and teams.
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/merwanroudane/mcp_gauss'
If you have feedback or need assistance with the MCP directory API, please join our Discord server