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هم پاسخ داده می‌شود که برخی کلاینت‌ها اول آن را امتحان می‌کنند). کلاینت می‌تواند خود را به سه راه معرفی کند — سند فرادادهٔ شناسهٔ کلاینت، ثبت پویا، یا شناسه و راز کلاینتی که در پایین ثبت می‌کنید — و کلاینت‌هایی که هر کدام را پشتیبانی کنند خودشان آن را می‌یابند.

راه‌اندازی کلاینت

خط فرمان
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_..." }
    }
  }
}

برای استفاده از OAuth پرچم <code>--header</code> را حذف کنید: 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. سروری با نشانی <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> توکن را بیرون از پرونده نگه می‌دارد، پس پیکربندی برای commit امن است.

اگر کلاینت شما فقط انتقال قدیمی‌تر 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عبارتی را به‌صورت کار پس‌زمینه می‌فرستد، با بودجه‌ای چنددقیقه‌ای و وابسته به طرح، برای کاری که در بودجهٔ تعاملی جا نمی‌گیرد. بی‌درنگ شناسهٔ کار را بازمی‌گرداند؛ کارها سهمیه‌ای روزانه‌اند.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 در فراخوانی بعدی با همان شناسه، ارزیابی می‌شود به 15. نشست‌ها خصوصیِ حساب شمایند؛ دو حساب با یک شناسهٔ یکسان هرگز متغیرهای هم را نمی‌بینند. پس از ۳۰ دقیقه بی‌کاری، وقتی ارزیابی‌ای درونشان از مهلت بگذرد (موتور را نمی‌توان قطع کرد، پس نشست هم با آن می‌رود)، یا وقتی این را فراخوانی کنید، دور ریخته می‌شوند: clear_session.

محدودیت‌ها و خطاها

بودجهٔ محاسبه و محدودیت نرخ از طرح شما پیروی می‌کنند — نگاه کنید به طرح‌ها، یا get_capabilities را از خودِ اتصال فراخوانی کنید تا اعداد جاری را بگیرید. فراتر رفتن از هر کدام به‌صورت نتیجهٔ ابزار بازمی‌گردد با isError تنظیم‌شده، نه خطای انتقال؛ پس عاملتان می‌تواند پیام را بخواند و خود را تنظیم کند. خطای نحوی، پایان مهلت یا خرابی درون موتور هم همین‌طورند: پاسخ‌اند، و اتصال باز می‌ماند.

check_support بدون خرج کردن یک ارزیابی می‌گوید چه چیزی در دسترس است. timeout_ms به یک فراخوانی اجازه می‌دهد بودجه‌ای کوتاه‌تر از طرح بخواهد — برای شکست سریع روی عبارتی که انتظار دارید ارزان باشد کارآمد است. به بودجهٔ خود طرح محدود می‌شود، پس نمی‌تواند زمانی بیش از آنچه دارید بخرد. توابع پرونده، فرایند و شبکه مسدودند.