Qurak

Servidor MCP

Conecte o Claude, o Cursor, o VS Code ou qualquer cliente MCP ao motor Qurak.

O que conectar compra para o seu assistente

Um assistente que chuta as contas erra com a frequência exata para fazer diferença. Conectado aqui, ele entrega a matemática a um motor de verdade e devolve uma resposta calculada em vez de uma plausível — cálculo, equações diferenciais, álgebra, estatística, gráficos.

A conexão diz ao seu agente a verdade sobre si mesma antes de gastar qualquer computação: check_support responde se uma função existe, get_capabilities informa os limites realmente em vigor, e plan_computation transforma um objetivo em um método que funciona, com receitas verificadas anexadas. Um agente continua chamando uma ferramenta que diz de antemão o que não consegue fazer.

Está aberto em todos os planos, inclusive no gratuito, e a conexão inteira é uma única URL. O que um plano pago compra é orçamento de computação e taxa — nunca o acesso.

Criar um token   Entrar

Endpoints

URLTransporteUso
https://qurak.com/mcpStreamable HTTPPreferido. Use este, a menos que seu cliente não consiga.
https://qurak.com/mcp/sseHTTP+SSE (2024-11-05)Obsoleto, apenas para clientes antigos.

O transporte é stateless: ele não emite id de sessão do protocolo, então GET e DELETE em /mcp responde 405 por design. Isso é separado do session_id opcional que as ferramentas de avaliação aceitam — veja Ferramentas — que é um argumento de ferramenta que você escolhe, não algo que o transporte distribui.

Duas maneiras de entrar

A maioria dos clientes cuida disso por você. Escolha seu cliente abaixo e siga o único caminho que ele mostra — você não precisa dos dois.

MétodoComo funcionaUse quando
OAuthO cliente abre seu navegador, você entra no Qurak e aprova a solicitação. Nenhuma credencial é copiada à mão.Seu cliente pede só uma URL — o Claude Desktop e o claude.ai não têm onde colocar um token.
Token BearerVocê cria um token e o coloca em um cabeçalho Authorization na configuração do cliente.Seu cliente aceita cabeçalhos e você quer uma credencial fixa — útil para CI ou uma máquina compartilhada.

O que o OAuth solicita

EscopoConcede
qurak:evaluateExecutar expressões e produzir gráficos na sua conta. Gasta o orçamento de computação e o limite de taxa do seu plano.
qurak:docsLer a referência de funções. Não gasta computação, então uma conexão só de docs é algo seguro de conceder amplamente.

Por baixo, isto é um fluxo OAuth 2.1 padrão com PKCE, descobrível em /.well-known/oauth-protected-resource e /.well-known/oauth-authorization-server (também respondido em /.well-known/openid-configuration, que alguns clientes tentam primeiro). Um cliente pode se identificar de três maneiras — um documento de metadados de client ID, registro dinâmico, ou um client ID e secret que você registra abaixo — e clientes que suportam qualquer uma delas encontram tudo sozinhos.

Configuração do cliente

Linha de comando
claude mcp add --transport http qurak https://qurak.com/mcp \
  --header "Authorization: Bearer qk_..."

<code>type</code> é obrigatório. Uma entrada com <code>url</code> e sem <code>type</code> é lida como um servidor stdio e silenciosamente ignorada.

.mcp.json
{
  "mcpServers": {
    "qurak": {
      "type": "http",
      "url": "https://qurak.com/mcp",
      "headers": { "Authorization": "Bearer qk_..." }
    }
  }
}

Omita a flag <code>--header</code> para usar OAuth: o Claude Code abre um navegador na primeira conexão.

  1. Abra Settings, depois Connectors.
  2. Escolha Add custom connector.
  3. Cole <code>https://qurak.com/mcp</code> e confirme.
  4. Uma janela do navegador abre. Entre no Qurak e aprove a solicitação.

Este caminho é necessariamente só OAuth — não há campo para token. Os mesmos passos valem para conectores do claude.ai.

  1. Abra Settings, depois MCP.
  2. Adicione um servidor com a URL <code>https://qurak.com/mcp</code>.
  3. Aprove o prompt do navegador.

O Cursor prefere OAuth quando um servidor publica metadados de descoberta, o que este faz — então um bloco <code>headers</code> na configuração provavelmente será ignorado. Espere o fluxo do navegador e deixe-o rodar.

A chave é <code>servers</code>, não <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 }
  ]
}

Usar <code>inputs</code> mantém o token fora do arquivo, então a configuração pode ser commitada com segurança.

Se seu cliente só fala o transporte HTTP+SSE mais antigo, aponte-o para <code>https://qurak.com/mcp/sse</code>.

URL
https://qurak.com/mcp

Ferramentas

FerramentaO que fazEscopo
evaluateAvalia uma expressão Qurak (sintaxe compatível com .wl). Retorna o resultado formatado, com o tempo que levou. Opcional session_id, format (Standard, TeX, JSON) e timeout_ms.qurak:evaluate
plotExecuta uma expressão de plotagem e retorna o gráfico como imagem PNG. Aceita os mesmos session_id e timeout_ms.qurak:evaluate
clear_sessionDescarta uma sessão de avaliação e tudo o que foi definido nela.qurak:evaluate
search_docsPesquisa a referência de funções por nome ou descrição, e as receitas de tarefa junto. Opcional kind (function, task, any); cada resultado diz qual é.qurak:docs
get_taskUma receita de tarefa completa: seus passos em ordem, e a saída que cada um produziu quando foi verificada neste motor. Os passos rodam em sequência numa sessão.qurak:docs
get_symbolTudo o que se sabe sobre um símbolo: disponibilidade, formas, opções, exemplos.qurak:docs
check_supportVerifica se funções específicas estão disponíveis, antes de usá-las.qurak:docs
plan_computationFundamenta um objetivo antes de computar: veredictos de suporte para cada função de uma expressão rascunho, as receitas verificadas mais próximas, e uma recomendação de rota nos números de orçamento desta própria conexão. Não gasta computação.qurak:docs
evaluate_asyncEnvia uma expressão como trabalho em segundo plano com um orçamento de minutos, dependente do plano, para o trabalho que o orçamento interativo não comporta. Retorna um id de trabalho de imediato; os trabalhos são uma cota diária.qurak:evaluate
get_job
list_jobs
cancel_job
O status de um trabalho e, quando terminado, seu resultado completo (passe wait_ms e uma única chamada faz long-poll em vez de dezenas consultando sem parar); os trabalhos recentes da conta; cancelamento. Consultar é gratuito.qurak:evaluate
simulate_circuitSimula um circuito quântico - vetor de estado ideal, conjunto padrão de portas - e retorna seu histograma de medições. Roda como trabalho em segundo plano, com um teto de qubits que acompanha o plano.qurak:evaluate
save_guide
get_guide
list_guides
delete_guide
Notas duráveis na conta: salve as definições e premissas de um modelo de trabalho sob um nome, e leia-as de volta em uma conversa posterior. Ler exige o escopo docs; escrever exige evaluate.qurak:docs
qurak:evaluate
get_capabilitiesOs limites em vigor para esta conexão, em números: teto do orçamento de computação, cota por minuto e o que resta dela, maior gráfico armazenável, escopos concedidos, limites de sessão. Sem argumentos.qualquer
WolframLanguageEvaluatorAlias legado de evaluate, mantido para clientes que esperam o nome de ferramenta do AgentTools. Mesmos argumentos, mesmo comportamento.qurak:evaluate

Mantendo estado entre chamadas

evaluate e plot são stateless, a menos que você passe um session_id. Com um, as definições se mantêm — a = 10 em uma chamada, depois a + 5 na seguinte com o mesmo id, avalia para 15. As sessões são privadas da sua conta, então duas contas usando o mesmo id nunca veem as variáveis uma da outra. Elas são descartadas após 30 minutos ociosas, quando uma avaliação nelas esgota o tempo (o motor não pode ser interrompido, então a sessão vai junto), ou quando você chama clear_session.

Limites e erros

O orçamento de computação e o limite de taxa seguem seu plano — veja Planos, ou chame get_capabilities a partir da própria conexão para os números em vigor. Exceder qualquer um volta como um resultado de ferramenta com isError definido, não como erro de transporte, para que seu agente leia a mensagem e se ajuste. O mesmo vale para um erro de sintaxe, um tempo esgotado ou uma falha dentro do motor: são respostas, e a conexão permanece aberta.

check_support diz o que está disponível sem gastar uma avaliação. timeout_ms permite que uma chamada peça um orçamento menor do que o plano concede — útil para falhar rápido numa expressão que você espera ser barata. Ele é limitado ao orçamento do próprio plano, então não compra mais tempo do que você tem. Funções de arquivo, processo e rede estão bloqueadas.