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) | 非推奨。古いクライアント専用。 |
トランスポートはステートレスで、プロトコルのセッションidを発行しません。そのため GET と DELETE — /mcp は設計どおり 405 で応答します。これは、評価系ツールが受け取る任意の session_id とは別のものです — 詳しくは ツール を参照 — これは自分で選ぶツール引数であり、トランスポートが配るものではありません。
ほとんどのクライアントはこれを自動で処理します。下でクライアントを選び、表示される1つの経路に従ってください — 両方は不要です。
| 方式 | 仕組み | 使いどころ |
|---|---|---|
| OAuth | クライアントがブラウザを開き、Qurakにサインインしてリクエストを承認します。資格情報を手でコピーすることは一切ありません。 | クライアントがURLしか求めないとき — Claude Desktopとclaude.aiにはトークンを入れる場所がありません。 |
| ベアラートークン | トークンを作成し、クライアント設定の Authorization ヘッダーに設定します。 | クライアントがヘッダーに対応していて、固定の資格情報を使いたいとき — CIや共有マシンに便利です。 |
| スコープ | 付与内容 |
|---|---|
| qurak:evaluate | あなたのアカウントで式を実行し、プロットを生成します。プランの計算予算とレート制限を消費します。 |
| qurak:docs | 関数リファレンスの読み取り。計算を消費しないため、ドキュメントのみの接続は広く許可しても安全です。 |
内部的にはPKCE付きの標準的なOAuth 2.1フローで、 /.well-known/oauth-protected-resource と /.well-known/oauth-authorization-server で検出できます( /.well-known/openid-configurationでも応答します。こちらを先に試すクライアントもあります)。クライアントは3つの方法で自らを識別できます — クライアントIDメタデータドキュメント、動的登録、または下で登録するクライアントIDとシークレット — いずれかに対応するクライアントは自力で見つけます。
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_..." }
}
}
}OAuthを使う場合は <code>--header</code> フラグを省略します: Claude Codeは初回接続時にブラウザを開きます。
この経路は必然的にOAuth専用です — トークンを入れる欄がありません。claude.ai のコネクタにも同じ手順が当てはまります。
サーバーがディスカバリーメタデータを公開している場合、CursorはOAuthを優先します。このサーバーは公開しているため、設定の <code>headers</code> ブロックは無視される可能性が高いです。ブラウザフローが開くので、そのまま進めてください。
キーは <code>mcpServers</code> ではなく <code>servers</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| ツール | 機能 | スコープ |
|---|---|---|
| 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 | 1つのタスクレシピの全体: 順序どおりのステップと、このエンジンで検証された際に各ステップが生成した出力。ステップは1つのセッション内で順に実行されます。 | qurak:docs |
| get_symbol | 1つのシンボルについて分かっているすべて: 利用可否・形式・オプション・例。 | qurak:docs |
| check_support | 特定の関数が利用可能かどうかを、使う前に確認します。 | qurak:docs |
| plan_computation | 計算の前に目標を地に足のついたものにします: 下書きの式に含まれるすべての関数の対応可否の判定、最も近い検証済みレシピ、そしてこの接続自身の予算の数値で示されるルーティングの推奨。計算は一切消費しません。 | qurak:docs |
| evaluate_async | 式を、分単位でプランに依存する予算を持つバックグラウンドジョブとして送信します。対話用の予算に収まらない仕事のためのものです。ジョブIDを即座に返します。ジョブは1日の割り当て制です。 | qurak:evaluate |
| get_job list_jobs cancel_job | ジョブの状態と、完了後はその完全な結果(wait_ms を渡せば、細かく何十回もポーリングする代わりに1回の呼び出しでロングポーリングします)。アカウントの最近のジョブ一覧と、キャンセルも。ポーリングは無料です。 | qurak:evaluate |
| simulate_circuit | 量子回路をシミュレートし - 理想状態ベクトル、標準ゲートセット - 測定ヒストグラムを返します。バックグラウンドジョブとして実行され、量子ビット上限はプランに従います。 | qurak:evaluate |
| save_guide get_guide list_guides delete_guide | アカウントに残る永続的なノートです: 作業中のモデルの定義と仮定を名前を付けて保存し、後の会話で読み戻せます。読み取りには docs スコープが、書き込みには evaluate が必要です。 | qurak:docs qurak:evaluate |
| get_capabilities | この接続に有効な制限を数値で返します: 計算予算の上限、1分あたりの割り当てと残り、保存可能な最大プロット、付与済みスコープ、セッションの上限。引数なし。 | すべて |
| WolframLanguageEvaluator | 次のレガシーエイリアス: evaluate。AgentToolsのツール名を想定するクライアントのために残されています。引数も動作も同じです。 | qurak:evaluate |
evaluate と plot は、 session_idを渡さない限りステートレスです。渡すと定義は引き継がれます — あるコールで a = 10 、続くコールで同じidのまま a + 5 を評価すると 15になります。セッションはアカウント内に閉じており、2つのアカウントが同じidを使っても互いの変数は見えません。アイドルが30分続いたとき、セッション内の評価がタイムアウトしたとき(エンジンは中断できないためセッションごと失われます)、または次を呼び出したときに破棄されます: clear_session.
計算予算とレート制限はプランに従います — 料金を参照するか、接続から get_capabilities を呼び出せば現在有効な数値が得られます。どちらかを超えると、トランスポートエラーではなく isError が設定されたツール結果として返るため、エージェントはメッセージを読んで調整できます。構文エラーやタイムアウト、エンジン内部の失敗も同じです: それらは応答であり、接続は開いたままです。
check_support は、評価を消費せずに何が利用できるかを教えてくれます。 timeout_ms を使うと、プランの上限より短い予算を呼び出しごとに指定できます — 安価なはずの式を早く失敗させたいときに便利です。プラン自体の予算にクランプされるため、持ち時間より多くは買えません。 ファイル・プロセス・ネットワーク関数はブロックされています。