Qurak

MCP-сервер

Під'єднайте Claude, Cursor, VS Code чи будь-який MCP-клієнт до рушія Qurak.

Що під'єднання дає вашому асистентові

Асистент, який вгадує арифметику, помиляється саме настільки часто, щоб це мало значення. Під'єднаний сюди, він передає математику справжньому рушію і повертає обчислену відповідь замість правдоподібної — аналіз, диференціальні рівняння, алгебра, статистика, графіки.

З'єднання каже вашому агентові правду про себе ще до витрати обчислень: check_support відповідає, чи існує функція, get_capabilities повідомляє фактично чинні ліміти, а plan_computation перетворює мету на робочий метод із доданими перевіреними рецептами. Агент і далі викликає інструмент, який заздалегідь каже, чого не вміє.

Він відкритий на всіх тарифах, зокрема безкоштовному, а все під'єднання — один URL. Платний тариф купує бюджет обчислень і частоту — але ніколи не доступ.

Створення токена   Увійти

Ендпоінти

URLТранспортПризначення
https://qurak.com/mcpStreamable HTTPБажаний. Використовуйте його, хіба що ваш клієнт не може.
https://qurak.com/mcp/sseHTTP+SSE (2024-11-05)Застарілий, лише для старих клієнтів.

Транспорт не має стану: він не видає протокольний ідентифікатор сесії, тому GET і DELETE на /mcp відповідає 405 навмисно. Це не те саме, що необов'язковий session_id в обчислювальних інструментів — див. Інструменти — це аргумент інструмента, який обираєте ви, а не щось, що видає транспорт.

Два способи входу

Більшість клієнтів роблять це за вас. Виберіть свій клієнт нижче і йдіть тим шляхом, який він показує, — обидва не потрібні.

СпосібЯк працюєКоли використовувати
OAuthКлієнт відкриває браузер, ви входите в Qurak і схвалюєте запит. Облікові дані ніколи не копіюються вручну.Ваш клієнт просить лише URL — у Claude Desktop і claude.ai токен вставити нікуди.
Bearer-токенВи створюєте токен і вміщуєте його в заголовок Authorization у конфігурації клієнта.Ваш клієнт підтримує заголовки, і вам потрібні постійні облікові дані — зручно для CI чи спільної машини.

Що запитує OAuth

СкоупНадає
qurak:evaluateВиконання виразів і побудова графіків у вашому обліковому записі. Витрачає бюджет обчислень і ліміт частоти вашого тарифу.
qurak:docsЧитання довідника функцій. Не витрачає обчислень, тому з'єднання лише з документацією безпечно надавати широко.

Під капотом це стандартний потік OAuth 2.1 із PKCE, який виявляється за адресою /.well-known/oauth-protected-resource і /.well-known/oauth-authorization-server (також відповідає за /.well-known/openid-configuration, який деякі клієнти пробують першим). Клієнт може представитися трьома способами — client ID metadata document, динамічною реєстрацією або парою client ID і secret, яку ви реєструєте нижче, — і клієнти, що підтримують будь-який із них, знайдуть його самі.

Налаштування клієнта

Командний рядок
claude mcp add --transport http qurak https://qurak.com/mcp \
  --header "Authorization: Bearer qk_..."

<code>type</code> обов'язковий. Запис із <code>url</code> без <code>type</code> читається як stdio-сервер і мовчки пропускається.

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

Опустіть прапорець <code>--header</code>, щоб використати OAuth: під час першого під'єднання Claude Code відкриє браузер.

  1. Відкрийте Settings, потім Connectors.
  2. Виберіть Add custom connector.
  3. Вставте <code>https://qurak.com/mcp</code> і підтвердьте.
  4. Відкриється вікно браузера. Увійдіть у Qurak і схваліть запит.

Цей шлях із необхідності лише через OAuth — поля для токена немає. Ті самі кроки підходять для конекторів claude.ai.

  1. Відкрийте Settings, потім MCP.
  2. Додайте сервер з URL <code>https://qurak.com/mcp</code>.
  3. Підтвердьте запит у браузері.

Cursor віддає перевагу OAuth, щойно сервер публікує метадані виявлення, — а цей публікує, — тому блок <code>headers</code> у його конфігурації, найімовірніше, буде проігноровано. Очікуйте браузерний потік і дайте йому пройти.

Ключ — <code>servers</code>, а не <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 }
  ]
}

Використання <code>inputs</code> тримає токен поза файлом, тож конфігурацію можна безпечно комітити.

Якщо ваш клієнт говорить лише старим транспортом HTTP+SSE, вкажіть йому <code>https://qurak.com/mcp/sse</code>.

URL
https://qurak.com/mcp

Інструменти

ІнструментЩо робитьСкоуп
evaluateОбчислити вираз Qurak (синтаксис, сумісний із .wl). Повертає відформатований результат і витрачений час. Необов'язковий session_id, format (Standard, TeX, JSON) і timeout_ms.qurak:evaluate
plotВиконати вираз побудови графіка й повернути діаграму як PNG-зображення. Приймає ті самі session_id і timeout_ms.qurak:evaluate
clear_sessionЗнищити сесію обчислень і все, що в ній означено.qurak:evaluate
search_docsШукати в довідник функцій за іменем чи описом, а заразом і в рецептах задач. Необов'язковий kind (function, task, any); кожен результат каже, чим він є.qurak:docs
get_taskОдин рецепт задачі повністю: його кроки по порядку і вивід кожного під час перевірки на цьому рушії. Кроки виконуються послідовно в одній сесії.qurak:docs
get_symbolУсе відоме про один символ: доступність, форми, опції, приклади.qurak:docs
check_supportПеревірити, чи доступні конкретні функції, перш ніж їх використовувати.qurak:docs
plan_computationОбґрунтовує мету перед обчисленням: вердикти підтримки для кожної функції в чорновому виразі, найближчі перевірені рецепти й рекомендація маршруту в числах бюджету саме цього з'єднання. Не витрачає обчислень.qurak:docs
evaluate_asyncНадсилає вираз як фонове завдання з бюджетом у хвилини, залежним від тарифу, — для роботи, яка не вміщається в інтерактивний бюджет. Одразу повертає id завдання; завдання — це денна квота.qurak:evaluate
get_job
list_jobs
cancel_job
Статус завдання і, щойно воно завершиться, його повний результат (передайте wait_ms — і один виклик довго очікує замість десятків частих опитувань); нещодавні завдання облікового запису; скасування. Опитування безкоштовне.qurak:evaluate
simulate_circuitСимулює квантову схему — ідеальний вектор стану, стандартний набір гейтів — і повертає її гістограму вимірювань. Виконується як фонове завдання зі стелею кубітів, яка залежить від тарифу.qurak:evaluate
save_guide
get_guide
list_guides
delete_guide
Довговічні нотатки в обліковому записі: збережіть означення й припущення робочої моделі під назвою і прочитайте їх у пізнішій розмові. Для читання потрібен скоуп docs, для запису — evaluate.qurak:docs
qurak:evaluate
get_capabilitiesЧинні ліміти цього з'єднання в числах: стеля бюджету обчислень, хвилинна квота та її залишок, найбільший збережуваний графік, надані скоупи, межі сесій. Без аргументів.будь-який
WolframLanguageEvaluatorЗастарілий псевдонім для evaluate, збережений для клієнтів, що очікують ім'я інструмента AgentTools. Ті самі аргументи, та сама поведінка.qurak:evaluate

Збереження стану між викликами

evaluate і plot не мають стану, якщо не передати session_id. З ним означення переносяться: a = 10 в одному виклику, потім a + 5 у наступному з тим самим id дає 15. Сесії приватні для вашого облікового запису, тож два облікові записи з однаковим id ніколи не бачать змінних одне одного. Вони закриваються після 30 хвилин простою, коли обчислення в них перевищує ліміт часу (рушій не можна перервати, тож сесія йде разом із ним) або коли ви викликаєте clear_session.

Ліміти й помилки

Бюджет обчислень і ліміт частоти визначаються вашим тарифом — див. Тарифиабо викличте get_capabilities із самого з'єднання, щоб дізнатися чинні числа. Перевищення будь-якого з них повертається як результат інструмента з установленим isError — це не помилка транспорту, тож ваш агент може прочитати повідомлення і скоригуватися. Те саме стосується синтаксичної помилки, тайм-ауту чи збою всередині рушія: це відповіді, і з'єднання залишається відкритим.

check_support повідомляє, що доступно, не витрачаючи обчислення. timeout_ms дозволяє виклику запросити бюджет, менший за тарифний, — зручно, щоб швидко завершувати вираз, який має бути дешевим. Він обмежується бюджетом самого тарифу, тож купити більше часу, ніж у вас є, неможливо. Файлові, процесні та мережеві функції заблоковано.