เชื่อมต่อ Claude, Cursor, VS Code หรือไคลเอนต์ MCP ใดก็ได้กับเอนจิน Qurak
ผู้ช่วยที่เดาเลขคณิตนั้นผิดบ่อยพอที่จะเป็นปัญหา เมื่อเชื่อมต่อที่นี่ มันจะส่งคณิตศาสตร์ให้เอนจินจริงและคืนคำตอบที่คำนวณแล้วแทนคำตอบที่แค่ฟังดูสมเหตุสมผล — แคลคูลัส สมการเชิงอนุพันธ์ พีชคณิต สถิติ และกราฟ
การเชื่อมต่อนี้บอกความจริงเกี่ยวกับตัวมันเองแก่เอเจนต์ของคุณก่อนที่จะใช้การคำนวณใด ๆ: check_support ตอบว่าฟังก์ชันมีอยู่หรือไม่ get_capabilities รายงานขีดจำกัดที่มีผลจริง และ plan_computation เปลี่ยนเป้าหมายเป็นวิธีทำที่ใช้ได้จริงพร้อมสูตรงานที่ตรวจสอบแล้วแนบมาด้วย เอเจนต์จะกลับมาเรียกเครื่องมือที่บอกล่วงหน้าว่าตัวเองทำอะไรไม่ได้อยู่เรื่อย ๆ
มันเปิดใช้ในทุกแพ็กเกจ รวมถึงแพ็กเกจฟรี และการเชื่อมต่อทั้งหมดคือ URL เดียว สิ่งที่แพ็กเกจแบบชำระเงินซื้อคืองบคำนวณและอัตรา — ไม่ใช่สิทธิ์เข้าใช้
| URL | ทรานสปอร์ต | การใช้ |
|---|---|---|
| https://qurak.com/mcp | Streamable HTTP | แนะนำ ใช้ตัวนี้เว้นแต่ไคลเอนต์ของคุณใช้ไม่ได้ |
| https://qurak.com/mcp/sse | HTTP+SSE (2024-11-05) | เลิกใช้แล้ว สำหรับไคลเอนต์รุ่นเก่าเท่านั้น |
ทรานสปอร์ตเป็นแบบ stateless: มันไม่ออก protocol session id ดังนั้น GET และ DELETE บน /mcp จึงตอบ 405 โดยตั้งใจ นั่นแยกจาก session_id แบบไม่บังคับที่เครื่องมือประเมินผลรับ — ดู เครื่องมือ — ซึ่งเป็นอาร์กิวเมนต์เครื่องมือที่คุณเลือกเอง ไม่ใช่สิ่งที่ทรานสปอร์ตแจกให้
ไคลเอนต์ส่วนใหญ่จัดการให้คุณเอง เลือกไคลเอนต์ของคุณด้านล่างแล้วทำตามเส้นทางเดียวที่มันแสดง — ไม่ต้องใช้ทั้งสอง
| วิธี | วิธีทำงาน | ใช้เมื่อ |
|---|---|---|
| OAuth | ไคลเอนต์เปิดเบราว์เซอร์ของคุณ คุณเข้าสู่ระบบ Qurak และอนุมัติคำขอ ไม่มีการคัดลอกข้อมูลรับรองด้วยมือเลย | ไคลเอนต์ของคุณขอแค่ URL — Claude Desktop และ claude.ai ไม่มีที่ให้ใส่โทเคน |
| โทเคน Bearer | คุณสร้างโทเคนแล้วใส่ไว้ในเฮดเดอร์ Authorization ในการตั้งค่าของไคลเอนต์ | ไคลเอนต์ของคุณรองรับเฮดเดอร์และคุณต้องการข้อมูลรับรองแบบตายตัว — มีประโยชน์สำหรับ CI หรือเครื่องที่ใช้ร่วมกัน |
| Scope | สิทธิ์ที่ให้ |
|---|---|
| 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, dynamic registration หรือ 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 และถูกข้ามอย่างเงียบ ๆ
{
"mcpServers": {
"qurak": {
"type": "http",
"url": "https://qurak.com/mcp",
"headers": { "Authorization": "Bearer qk_..." }
}
}
}ละแฟล็ก <code>--header</code> เพื่อใช้ OAuth แทน: Claude Code จะเปิดเบราว์เซอร์ตอนเชื่อมต่อครั้งแรก
เส้นทางนี้จำเป็นต้องเป็น OAuth เท่านั้น — ไม่มีช่องสำหรับโทเคน ขั้นตอนเดียวกันใช้กับ connectors ของ claude.ai ได้
Cursor เลือกใช้ OAuth เมื่อเซิร์ฟเวอร์เผยแพร่ discovery metadata ซึ่งเซิร์ฟเวอร์นี้ทำ — บล็อก <code>headers</code> ในการตั้งค่าจึงมีแนวโน้มถูกละเลย ให้คาดหวังโฟลว์เบราว์เซอร์และปล่อยให้มันทำงานไป
คีย์คือ <code>servers</code> ไม่ใช่ <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 }
]
}การใช้ <code>inputs</code> เก็บโทเคนไว้นอกไฟล์ การตั้งค่าจึงคอมมิตได้อย่างปลอดภัย
หากไคลเอนต์ของคุณพูดได้เฉพาะทรานสปอร์ต HTTP+SSE รุ่นเก่า ให้ชี้ไปที่ <code>https://qurak.com/mcp/sse</code> แทน
https://qurak.com/mcp| เครื่องมือ | หน้าที่ | Scope |
|---|---|---|
| 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 | ส่งนิพจน์เป็นงานเบื้องหลังพร้อมงบยาวระดับนาทีที่ขึ้นกับแผน สำหรับงานที่งบแบบโต้ตอบรองรับไม่ได้ คืน job id ทันที งานเป็นโควตารายวัน | qurak:evaluate |
| get_job list_jobs cancel_job | สถานะของงาน และผลลัพธ์ฉบับเต็มเมื่อเสร็จแล้ว (ส่ง wait_ms แล้วการเรียกครั้งเดียวจะรอแบบ long-poll แทนการวนถามถี่ ๆ หลายสิบครั้ง) รวมถึงงานล่าสุดบนบัญชี และการยกเลิก การถามสถานะไม่เสียอะไรเลย | qurak:evaluate |
| simulate_circuit | จำลองวงจรควอนตัม - สเตตเวกเตอร์ในอุดมคติ ชุดเกตมาตรฐาน - และคืนฮิสโทแกรมของการวัด รันเป็นงานเบื้องหลัง โดยมีเพดานคิวบิตตามแผน | qurak:evaluate |
| save_guide get_guide list_guides delete_guide | โน้ตถาวรบนบัญชี: บันทึกการนิยามและสมมติฐานของแบบจำลองที่ใช้งานอยู่ไว้ใต้ชื่อหนึ่ง แล้วอ่านกลับมาได้ในการสนทนาครั้งหลัง การอ่านต้องใช้ scope docs ส่วนการเขียนต้องใช้ evaluate | qurak:docs qurak:evaluate |
| get_capabilities | ขีดจำกัดที่มีผลต่อการเชื่อมต่อนี้ เป็นตัวเลข: เพดานงบคำนวณ โควตาต่อนาทีและที่เหลืออยู่ พล็อตที่เก็บได้ใหญ่สุด scope ที่ได้รับ ขอบเขตเซสชัน ไม่มีอาร์กิวเมนต์ | ใดก็ได้ |
| WolframLanguageEvaluator | ชื่อเรียกแทนแบบเก่าของ evaluate เก็บไว้สำหรับไคลเอนต์ที่คาดหวังชื่อเครื่องมือ AgentTools อาร์กิวเมนต์เดียวกัน พฤติกรรมเดียวกัน | qurak:evaluate |
evaluate และ plot เป็นแบบ stateless เว้นแต่คุณจะส่ง session_idเมื่อมี การนิยามจะถูกส่งต่อ — a = 10 ในการเรียกหนึ่ง แล้ว a + 5 ในการเรียกถัดไปด้วย id เดิม จะประเมินผลเป็น 15 เซสชันเป็นส่วนตัวของบัญชีคุณ สองบัญชีที่ใช้ id เดียวกันจึงไม่มีวันเห็นตัวแปรของกันและกัน เซสชันจะถูกทิ้งหลังไม่มีการใช้งาน 30 นาที เมื่อการประเมินผลในนั้นหมดเวลา (เอนจินถูกขัดจังหวะไม่ได้ เซสชันจึงไปด้วย) หรือเมื่อคุณเรียก clear_session.
งบคำนวณและขีดจำกัดอัตราเป็นไปตามแผนของคุณ — ดู ราคา หรือเรียก get_capabilities จากการเชื่อมต่อเองเพื่อดูตัวเลขที่มีผล การใช้เกินอย่างใดอย่างหนึ่งจะกลับมาเป็นผลลัพธ์เครื่องมือที่มี isError ตั้งไว้ ไม่ใช่ข้อผิดพลาดของทรานสปอร์ต agent ของคุณจึงอ่านข้อความและปรับตัวได้ เช่นเดียวกับข้อผิดพลาดไวยากรณ์ การหมดเวลา หรือความล้มเหลวในเอนจิน: พวกมันคือคำตอบ และการเชื่อมต่อยังเปิดอยู่
check_support บอกว่ามีอะไรใช้ได้บ้างโดยไม่เปลืองการประเมินผล timeout_ms ให้การเรียกขอใช้งบสั้นกว่าที่แผนอนุญาตได้ — มีประโยชน์สำหรับล้มเหลวเร็วกับนิพจน์ที่คุณคาดว่าเบา มันถูกจำกัดไว้ที่งบของแผนเอง จึงซื้อเวลามากกว่าที่คุณมีไม่ได้ ฟังก์ชันไฟล์ โปรเซส และเครือข่ายถูกบล็อก