Qurak

Server MCP

Connetti Claude, Cursor, VS Code o qualsiasi client MCP al motore Qurak.

Cosa guadagna il tuo assistente dalla connessione

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.

Crea un token   Accedi

Endpoint

URLTrasportoUso
https://qurak.com/mcpStreamable HTTPPreferito. Usalo a meno che il tuo client non possa.
https://qurak.com/mcp/sseHTTP+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.

Due modi per accedere

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.

MetodoCome funzionaUsalo quando
OAuthIl 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 BearerCrei 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.

Cosa chiede OAuth

ScopeConcede
qurak:evaluateEseguire espressioni e produrre grafici sul tuo account. Spende il budget di calcolo e il limite di frequenza del tuo piano.
qurak:docsLeggere 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.

Configurazione del client

Riga di comando
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.

.mcp.json
{
  "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.

  1. Apri Settings, poi Connectors.
  2. Scegli Add custom connector.
  3. Incolla <code>https://qurak.com/mcp</code> e conferma.
  4. Si apre una finestra del browser. Accedi a Qurak e approva la richiesta.

Questo percorso è solo OAuth per necessità — non c'è un campo per un token. Gli stessi passaggi valgono per i connettori di claude.ai.

  1. Apri Settings, poi MCP.
  2. Aggiungi un server con l'URL <code>https://qurak.com/mcp</code>.
  3. Approva la richiesta nel browser.

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>.

.vscode/mcp.json
{
  "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>.

URL
https://qurak.com/mcp

Strumenti

StrumentoCosa faScope
evaluateValuta 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
plotEsegue un'espressione grafica e restituisce il grafico come immagine PNG. Accetta gli stessi session_id e timeout_ms.qurak:evaluate
clear_sessionScarta una sessione di valutazione e tutto ciò che vi è definito.qurak:evaluate
search_docsCerca 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_taskUna 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_symbolTutto ciò che si sa di un simbolo: disponibilità, forme, opzioni, esempi.qurak:docs
check_supportVerifica se funzioni specifiche sono disponibili, prima di usarle.qurak:docs
plan_computationDà 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_asyncInvia 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_circuitSimula 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_capabilitiesI 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
WolframLanguageEvaluatorAlias legacy di evaluate, mantenuto per i client che si aspettano il nome dello strumento di AgentTools. Stessi argomenti, stesso comportamento.qurak:evaluate

Mantenere lo stato tra le chiamate

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.

Limiti ed errori

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.