Connetti Claude, Cursor, VS Code o qualsiasi client MCP al motore Qurak.
Un assistente che tira a indovinare l'aritmetica sbaglia proprio abbastanza spesso da contare. Connesso qui, affida la matematica a un motore vero e restituisce una risposta calcolata anziché una plausibile — analisi, equazioni differenziali, algebra, statistica, grafici.
La connessione dice al tuo agente la verità su di sé prima di spendere calcolo: check_support risponde se una funzione esiste, get_capabilities riporta i limiti davvero in vigore, e plan_computation trasforma un obiettivo in un metodo funzionante con le ricette verificate allegate. Un agente continua a chiamare uno strumento che dice in anticipo cosa non sa fare.
È aperto su ogni piano, incluso quello gratuito, e l'intera connessione è un solo URL. Ciò che un piano a pagamento compra è budget di calcolo e frequenza — mai l'accesso.
| URL | Trasporto | Uso |
|---|---|---|
| https://qurak.com/mcp | Streamable HTTP | Preferito. Usalo a meno che il tuo client non possa. |
| https://qurak.com/mcp/sse | HTTP+SSE (2024-11-05) | Deprecato, solo per client più vecchi. |
Il trasporto è stateless: non emette alcun id di sessione di protocollo, quindi GET e DELETE su /mcp rispondono 405 per scelta. È distinto dal session_id facoltativo che gli strumenti di valutazione accettano — vedi Strumenti — che è un argomento dello strumento scelto da te, non qualcosa che il trasporto distribuisce.
La maggior parte dei client fa tutto da sola. Scegli il tuo client qui sotto e segui l'unico percorso che mostra — non ti servono entrambi.
| Metodo | Come funziona | Usalo quando |
|---|---|---|
| OAuth | Il client apre il tuo browser, accedi a Qurak e approvi la richiesta. Nessuna credenziale viene mai copiata a mano. | Il tuo client chiede solo un URL — Claude Desktop e claude.ai non hanno dove mettere un token. |
| Token Bearer | Crei un token e lo metti in un'intestazione Authorization nella configurazione del client. | Il tuo client supporta le intestazioni e vuoi una credenziale fissa — utile per la CI o una macchina condivisa. |
| Scope | Concede |
|---|---|
| qurak:evaluate | Eseguire espressioni e produrre grafici sul tuo account. Spende il budget di calcolo e il limite di frequenza del tuo piano. |
| qurak:docs | Leggere la guida delle funzioni. Non spende calcolo, quindi una connessione di sola documentazione si può concedere ampiamente senza rischi. |
Sotto il cofano è un flusso OAuth 2.1 standard con PKCE, individuabile su /.well-known/oauth-protected-resource e /.well-known/oauth-authorization-server (servito anche sotto /.well-known/openid-configuration, che alcuni client provano per primo). Un client può identificarsi in tre modi — un client ID metadata document, la registrazione dinamica, o un client ID e secret che registri qui sotto — e i client che ne supportano uno lo troveranno da soli.
claude mcp add --transport http qurak https://qurak.com/mcp \
--header "Authorization: Bearer qk_..."<code>type</code> è obbligatorio. Una voce con un <code>url</code> e senza <code>type</code> viene letta come server stdio e ignorata in silenzio.
{
"mcpServers": {
"qurak": {
"type": "http",
"url": "https://qurak.com/mcp",
"headers": { "Authorization": "Bearer qk_..." }
}
}
}Ometti il flag <code>--header</code> per usare invece OAuth: Claude Code apre un browser alla prima connessione.
Questo percorso è solo OAuth per necessità — non c'è un campo per un token. Gli stessi passaggi valgono per i connettori di claude.ai.
Cursor preferisce OAuth quando un server pubblica i metadati di discovery, come fa questo — quindi un blocco <code>headers</code> nella sua configurazione verrà probabilmente ignorato. Aspettati il flusso nel browser, e lascialo procedere.
La chiave è <code>servers</code>, non <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 }
]
}Usare <code>inputs</code> tiene il token fuori dal file, quindi la configurazione si può committare senza rischi.
Se il tuo client parla solo il vecchio trasporto HTTP+SSE, puntalo invece a <code>https://qurak.com/mcp/sse</code>.
https://qurak.com/mcp| Strumento | Cosa fa | Scope |
|---|---|---|
| evaluate | Valuta un'espressione Qurak (sintassi compatibile .wl). Restituisce il risultato formattato, con il tempo impiegato. Facoltativo: session_id, format (Standard, TeX, JSON) e timeout_ms. | qurak:evaluate |
| plot | Esegue un'espressione grafica e restituisce il grafico come immagine PNG. Accetta gli stessi session_id e timeout_ms. | qurak:evaluate |
| clear_session | Scarta una sessione di valutazione e tutto ciò che vi è definito. | qurak:evaluate |
| search_docs | Cerca nella guida delle funzioni per nome o descrizione, e nelle ricette di attività al suo fianco. Facoltativo: kind (function, task, any); ogni risultato dice cos'è. | qurak:docs |
| get_task | Una ricetta di attività per intero: i suoi passi in ordine, e l'output che ognuno ha prodotto quando è stata verificata su questo motore. I passi girano in sequenza in una sola sessione. | qurak:docs |
| get_symbol | Tutto ciò che si sa di un simbolo: disponibilità, forme, opzioni, esempi. | qurak:docs |
| check_support | Verifica se funzioni specifiche sono disponibili, prima di usarle. | qurak:docs |
| plan_computation | Dà fondamento a un obiettivo prima di calcolare: verdetti di supporto per ogni funzione di una bozza di espressione, le ricette verificate più vicine, e una raccomandazione di instradamento espressa nei numeri di budget di questa stessa connessione. Non spende calcolo. | qurak:docs |
| evaluate_async | Invia un'espressione come job in background con un budget di minuti, dipendente dal piano, per i calcoli che il budget interattivo non può contenere. Restituisce subito un id di job; i job sono una quota giornaliera. | qurak:evaluate |
| get_job list_jobs cancel_job | Lo stato di un job e, una volta finito, il suo risultato completo (passa wait_ms e una sola chiamata fa long-poll invece di decine in polling serrato); i job recenti sull'account; l'annullamento. Il polling è gratuito. | qurak:evaluate |
| simulate_circuit | Simula un circuito quantistico - vettore di stato ideale, set di porte standard - e restituisce il suo istogramma delle misurazioni. Gira come job in background, con un tetto di qubit che segue il piano. | qurak:evaluate |
| save_guide get_guide list_guides delete_guide | Note durevoli sull'account: salva le definizioni e le assunzioni di un modello a cui stai lavorando sotto un nome, e rileggile in una conversazione successiva. Leggere richiede lo scope docs; scrivere richiede evaluate. | qurak:docs qurak:evaluate |
| get_capabilities | I limiti in vigore per questa connessione, in numeri: tetto del budget di calcolo, quota al minuto e quanto ne resta, grafico conservato più grande, scope concessi, limiti di sessione. Nessun argomento. | qualsiasi |
| WolframLanguageEvaluator | Alias legacy di evaluate, mantenuto per i client che si aspettano il nome dello strumento di AgentTools. Stessi argomenti, stesso comportamento. | qurak:evaluate |
evaluate e plot sono stateless a meno che tu non passi un session_id. Con uno, le definizioni si conservano — a = 10 in una chiamata, poi a + 5 nella successiva con lo stesso id, si valuta in 15. Le sessioni sono private del tuo account, quindi due account che usano lo stesso id non vedono mai le variabili l'uno dell'altro. Vengono eliminate dopo 30 minuti di inattività, quando una valutazione al loro interno va in timeout (il motore non può essere interrotto, quindi la sessione se ne va con esso), o quando chiami clear_session.
Budget di calcolo e limite di frequenza seguono il tuo piano — vedi Piani, oppure chiama get_capabilities dalla connessione stessa per i numeri in vigore. Superare l'uno o l'altro torna come risultato dello strumento con isError impostato, non come errore di trasporto, così il tuo agente può leggere il messaggio e adattarsi. Lo stesso vale per un errore di sintassi, un timeout o un errore dentro il motore: sono risposte, e la connessione resta aperta.
check_support ti dice cosa è disponibile senza spendere una valutazione. timeout_ms permette a una chiamata di chiedere un budget più corto di quello del piano — utile per fallire in fretta su un'espressione che ti aspetti economica. È limitato al budget del piano, quindi non può comprare più tempo di quanto tu ne abbia. Le funzioni su file, processi e rete sono bloccate.