Verbinden Sie Claude, Cursor, VS Code oder jeden MCP-Client mit der Qurak-Engine.
Ein Assistent, der Arithmetik rät, liegt gerade oft genug daneben, dass es zählt. Hier verbunden, übergibt er die Mathematik einer echten Engine und liefert eine berechnete Antwort statt einer plausiblen — Analysis, Differentialgleichungen, Algebra, Statistik, Plots.
Die Verbindung sagt Ihrem Agenten die Wahrheit über sich selbst, bevor Rechenzeit ausgegeben wird: check_support beantwortet, ob eine Funktion existiert, get_capabilities meldet die tatsächlich geltenden Grenzen, und plan_computation macht aus einem Ziel eine funktionierende Methode mit verifizierten Rezepten dazu. Ein Agent ruft ein Tool weiter auf, das vorab sagt, was es nicht kann.
Er ist in jedem Tarif offen, auch im kostenlosen, und die ganze Verbindung ist eine URL. Ein bezahlter Tarif kauft Rechenbudget und Rate — nie den Zugang.
| URL | Transport | Verwendung |
|---|---|---|
| https://qurak.com/mcp | Streamable HTTP | Bevorzugt. Verwenden Sie diesen, außer Ihr Client kann es nicht. |
| https://qurak.com/mcp/sse | HTTP+SSE (2024-11-05) | Veraltet, nur für ältere Clients. |
Der Transport ist zustandslos: Er vergibt keine Protokoll-Sitzungs-Id, daher antworten GET und DELETE auf /mcp mit 405 — by design. Das ist getrennt von der optionalen session_id , die die auswertenden Tools annehmen — siehe Tools — das ist ein Tool-Argument, das Sie wählen, nicht etwas, das der Transport vergibt.
Die meisten Clients erledigen das für Sie. Wählen Sie unten Ihren Client und folgen Sie dem einen Weg, den er zeigt — Sie brauchen nicht beide.
| Methode | Wie es funktioniert | Verwenden, wenn |
|---|---|---|
| OAuth | Der Client öffnet Ihren Browser, Sie melden sich bei Qurak an und genehmigen die Anfrage. Kein Credential wird je von Hand kopiert. | Ihr Client fragt nur nach einer URL — Claude Desktop und claude.ai haben keinen Platz für einen Token. |
| Bearer-Token | Sie erstellen einen Token und legen ihn in einen Authorization -Header in der Client-Konfiguration. | Ihr Client unterstützt Header und Sie wollen ein festes Credential — nützlich für CI oder einen gemeinsam genutzten Rechner. |
| Scope | Gewährt |
|---|---|
| qurak:evaluate | Ausdrücke ausführen und Plots auf Ihrem Konto erzeugen. Verbraucht Rechenbudget und Ratenlimit Ihres Tarifs. |
| qurak:docs | Die Funktionsreferenz lesen. Verbraucht keine Rechenzeit, eine reine Docs-Verbindung lässt sich also bedenkenlos breit gewähren. |
Unter der Haube ist dies ein Standard-OAuth-2.1-Flow mit PKCE, auffindbar unter /.well-known/oauth-protected-resource und /.well-known/oauth-authorization-server (auch beantwortet unter /.well-known/openid-configuration, das manche Clients zuerst versuchen). Ein Client kann sich auf drei Arten ausweisen — ein Client-ID-Metadatendokument, dynamische Registrierung, oder eine Client-ID mit Secret, die Sie unten registrieren — und Clients, die eine davon unterstützen, finden sie von allein.
claude mcp add --transport http qurak https://qurak.com/mcp \
--header "Authorization: Bearer qk_..."<code>type</code> ist erforderlich. Ein Eintrag mit einer <code>url</code> und ohne <code>type</code> wird als stdio-Server gelesen und stillschweigend übersprungen.
{
"mcpServers": {
"qurak": {
"type": "http",
"url": "https://qurak.com/mcp",
"headers": { "Authorization": "Bearer qk_..." }
}
}
}Lassen Sie das <code>--header</code>-Flag weg, um stattdessen OAuth zu verwenden: Claude Code öffnet beim ersten Verbinden einen Browser.
Dieser Weg ist zwangsläufig OAuth-only — es gibt kein Feld für einen Token. Dieselben Schritte gelten für claude.ai-Konnektoren.
Cursor bevorzugt OAuth, sobald ein Server Discovery-Metadaten veröffentlicht, was dieser tut — ein <code>headers</code>-Block in seiner Konfiguration wird also vermutlich ignoriert. Erwarten Sie den Browser-Flow und lassen Sie ihn laufen.
Der Schlüssel ist <code>servers</code>, nicht <code>mcpServers</code>.
{
"servers": {
"qurak": {
"type": "http",
"url": "https://qurak.com/mcp",
"headers": { "Authorization": "Bearer ${input:qurak-token}" }
}
},
"inputs": [
{ "id": "qurak-token", "type": "promptString",
"description": "Qurak Bearer token", "password": true }
]
}Mit <code>inputs</code> bleibt der Token aus der Datei heraus, die Konfiguration kann also gefahrlos committet werden.
Falls Ihr Client nur den älteren HTTP+SSE-Transport spricht, richten Sie ihn stattdessen auf <code>https://qurak.com/mcp/sse</code>.
https://qurak.com/mcp| Tool | Was es tut | Scope |
|---|---|---|
| evaluate | Einen Qurak-Ausdruck auswerten (.wl-kompatible Syntax). Liefert das formatierte Ergebnis mit der benötigten Zeit. Optionales session_id, format (Standard, TeX, JSON) und timeout_ms. | qurak:evaluate |
| plot | Einen Plot-Ausdruck ausführen und das Diagramm als PNG-Bild zurückgeben. Nimmt dieselben session_id und timeout_ms. | qurak:evaluate |
| clear_session | Eine Auswertungssitzung mit allem darin Definierten verwerfen. | qurak:evaluate |
| search_docs | Die Funktionsreferenz nach Name oder Beschreibung durchsuchen, und die Aufgabenrezepte daneben. Optionales kind (function, task, any); jedes Ergebnis sagt, welches es ist. | qurak:docs |
| get_task | Ein Aufgabenrezept vollständig: seine Schritte der Reihe nach, und die Ausgabe, die jeder erzeugte, als es gegen diese Engine verifiziert wurde. Die Schritte laufen nacheinander in einer Sitzung. | qurak:docs |
| get_symbol | Alles Bekannte zu einem Symbol: Verfügbarkeit, Formen, Optionen, Beispiele. | qurak:docs |
| check_support | Prüfen, ob bestimmte Funktionen verfügbar sind, bevor man sie verwendet. | qurak:docs |
| plan_computation | Verankert ein Ziel vor dem Rechnen: Verfügbarkeitsurteile für jede Funktion eines Ausdrucksentwurfs, die nächstliegenden verifizierten Rezepte und eine Routing-Empfehlung in den eigenen Budgetzahlen dieser Verbindung. Verbraucht keine Rechenzeit. | qurak:docs |
| evaluate_async | Reicht einen Ausdruck als Hintergrundjob mit minutenlangem, tarifabhängigem Budget ein, für Arbeit, die das interaktive Budget nicht fasst. Liefert sofort eine Job-Id; Jobs sind ein Tageskontingent. | qurak:evaluate |
| get_job list_jobs cancel_job | Der Status eines Jobs und, sobald er fertig ist, sein vollständiges Ergebnis (übergeben Sie wait_ms, und ein Aufruf long-pollt statt Dutzender in enger Schleife); die letzten Jobs des Kontos; Abbruch. Polling ist kostenlos. | qurak:evaluate |
| simulate_circuit | Simuliert einen Quantenschaltkreis - idealer Zustandsvektor, Standard-Gattersatz - und liefert sein Messhistogramm zurück. Läuft als Hintergrundjob, mit einer Qubit-Obergrenze, die dem Tarif folgt. | qurak:evaluate |
| save_guide get_guide list_guides delete_guide | Dauerhafte Notizen auf dem Konto: Speichern Sie Definitionen und Annahmen eines Arbeitsmodells unter einem Namen und lesen Sie sie in einem späteren Gespräch wieder. Lesen braucht den docs-Scope; Schreiben braucht evaluate. | qurak:docs qurak:evaluate |
| get_capabilities | Die für diese Verbindung geltenden Grenzen, als Zahlen: Rechenbudget-Obergrenze, Kontingent pro Minute und was davon übrig ist, größter gespeicherter Plot, gewährte Scopes, Sitzungsgrenzen. Keine Argumente. | beliebig |
| WolframLanguageEvaluator | Legacy-Alias für evaluate, erhalten für Clients, die den AgentTools-Toolnamen erwarten. Gleiche Argumente, gleiches Verhalten. | qurak:evaluate |
evaluate und plot sind zustandslos, außer Sie übergeben eine session_id. Mit einer bleiben Definitionen erhalten — a = 10 in einem Aufruf, dann a + 5 im nächsten mit derselben Id, ergibt 15. Sitzungen sind privat für Ihr Konto, zwei Konten mit derselben Id sehen also nie die Variablen des jeweils anderen. Sie werden nach 30 Minuten Inaktivität verworfen, wenn eine Auswertung darin die Zeit überschreitet (die Engine lässt sich nicht unterbrechen, die Sitzung geht also mit), oder wenn Sie Folgendes aufrufen: clear_session.
Rechenbudget und Ratenlimit folgen Ihrem Tarif — siehe Tarife, oder rufen Sie get_capabilities aus der Verbindung selbst auf, um die geltenden Zahlen zu erhalten. Das Überschreiten von einem kommt als Tool-Ergebnis mit gesetztem isError zurück, nicht als Transportfehler, sodass Ihr Agent die Nachricht lesen und sich anpassen kann. Dasselbe gilt für einen Syntaxfehler, eine Zeitüberschreitung oder einen Fehler in der Engine: Sie sind Antworten, und die Verbindung bleibt offen.
check_support sagt Ihnen, was verfügbar ist, ohne eine Auswertung zu verbrauchen. timeout_ms lässt einen Aufruf ein kürzeres Budget anfordern, als der Tarif erlaubt — nützlich, um bei einem voraussichtlich billigen Ausdruck schnell zu scheitern. Es wird auf das Budget des Tarifs begrenzt, kann also nicht mehr Zeit kaufen, als Sie haben. Datei-, Prozess- und Netzwerkfunktionen sind blockiert.