Install and authenticate Quandora in
Claude Desktop
Read this document completely, then perform the installation and authentication. Do not merely show the user commands. Ask the user to act only when the Quandora authorization page requires their sign-in, MFA, or consent.
Required environment
This procedure requires a new local session in the Code tab of Claude Desktop on macOS or Windows. It does not apply to the normal Chat tab, web, mobile, Cowork, cloud, or remote sessions. If the current session is not a local Code session, stop and direct the user to the correct surface.
Use these exact production identities:
Marketplace repository: https://github.com/varsity-tech-product/quandora-plugins.git
Marketplace branch: main
Marketplace name: quandora
Plugin: quandora@quandora
Plugin-managed MCP server: plugin:quandora:quandora
MCP URL: https://mcp.quandora.ai/quant
Skills: factor-mining, factor-analysis, strategy-building, strategy-analysis, and paper-trading
Do not create a separate MCP entry. The plugin owns the MCP configuration. Never request or handle an API key, OAuth token, cookie, callback code, or authorization URL.
1. Locate the Claude Code CLI
This procedure requires Claude Code CLI 2.1.186 or later. That is the minimum version that provides the non-interactive claude mcp login <name> command required to start OAuth from a Claude Desktop Code session.
Locate the official standalone Claude Code executable, resolve it to an absolute path, and verify:
claude --version
claude plugin marketplace list --help
claude plugin install --help
claude mcp login --help
Do not continue to marketplace or plugin installation unless the reported version is 2.1.186 or later, every command above succeeds, and the last command prints usage for claude mcp login rather than the parent claude mcp help.
If Claude Code is already installed but is older or lacks mcp login, run the following official command yourself through the resolved executable. Do not ask the user to update it:
claude install latest
Discard the previously resolved path, locate the executable again, and repeat all four checks. If it is still incompatible, run the official native installer for the current operating system yourself.
macOS:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
After installing or updating, discard any previously resolved path, locate the executable again, repeat all four checks, and use the newly resolved absolute path for every command below. Continue directly to marketplace installation when the checks pass; do not ask the user to restart Claude Desktop or open a terminal. If the minimum version or any required command remains unavailable after one installation attempt, stop and report the compatibility failure. Never install the marketplace or plugin with an incompatible CLI.
2. Add or refresh the Quandora marketplace
Inspect the configured marketplaces:
claude plugin marketplace list --json
If quandora is absent, add the production repository at main:
claude plugin marketplace add https://github.com/varsity-tech-product/quandora-plugins.git#main --scope user
If quandora already points to that repository and branch, refresh it:
claude plugin marketplace update quandora
If the name points to any other source, stop and report the conflict. Do not replace or delete it.
3. Install or update the plugin
Inspect the managed plugin inventory:
claude plugin list --available --json
claude plugin details quandora@quandora
If quandora@quandora is absent, install it for the user:
claude plugin install quandora@quandora --scope user
If it is already installed, update and enable it:
claude plugin update quandora@quandora --scope user
claude plugin enable quandora@quandora --scope user
Confirm that the plugin is enabled and exposes all five expected skills and the plugin-managed MCP server. Record the installed entry's absolute installPath from claude plugin list --available --json and require its version to be exactly 3.0-preview before continuing.
4. Start OAuth authorization
Inspect the MCP server:
claude mcp get plugin:quandora:quandora
Require a remote HTTP server whose URL is exactly https://mcp.quandora.ai/quant. If the identity resolves to another URL or a local command, stop and report the conflict. Run the single authorization flow below even when an older Quandora connection appears connected, because an existing token may not contain the scopes required by the installed plugin version.
Claude Desktop command execution may not provide the interactive terminal required by claude mcp login. Use the installed plugin's fixed-purpose launcher from the recorded installPath; it creates the required interactive facility and records the login process outcome without logging OAuth output. Run only one login flow.
macOS
Substitute the verified absolute plugin and Claude executable paths for <PLUGIN_INSTALL_PATH> and <CLAUDE_BIN>:
oauth_state_directory=$(/usr/bin/mktemp -d "${TMPDIR:-/tmp}/quandora-oauth.XXXXXX")
/usr/bin/nohup "<PLUGIN_INSTALL_PATH>/scripts/claude-mcp-login-macos.sh" \
"<CLAUDE_BIN>" "$oauth_state_directory" </dev/null >/dev/null 2>&1 &
Poll only $oauth_state_directory/status.json. Continue only when it reports status=completed and exitCode=0. Treat incompatible_cli, no_interactive_pty, failed, or any nonzero exit code as a failed authorization attempt.
Windows
Use Windows PowerShell. Substitute the verified absolute plugin and Claude executable paths:
& "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
-NoLogo -NoProfile -ExecutionPolicy Bypass
-File '<PLUGIN_INSTALL_PATH>\scripts\claude-mcp-login-windows.ps1' `
-ClaudeBin '<CLAUDE_BIN>'
Read the returned JSON and poll only its statusFile. Continue only when it reports status=completed and exitCode=0. Treat incompatible_cli, no_interactive_console, failed, or any nonzero exit code as a failed authorization attempt.
The user's browser should open automatically. Tell the user that Quandora is ready for authorization, then wait while they complete any required sign-in or MFA and approve access. Do not inspect or operate the consent page, capture the child process output, use --no-browser, or start a second login flow.
After the launcher records successful completion, poll the exact claude mcp get command for connection readiness. Never treat Connected by itself as proof of OAuth completion; the successful launcher outcome is required. If the first login process exits because of a timeout or transient network error, retry once after it has fully ended.
5. Verify completion
Recheck through the same Claude executable:
claude plugin marketplace list --json
claude plugin list --available --json
claude plugin details quandora@quandora
claude mcp get plugin:quandora:quandora
Report success only when all of the following are true:
quandora@quandora is installed, enabled, and user-scoped from the expected marketplace.
Its installed version matches the current marketplace entry.
factor-mining, factor-analysis, strategy-building, strategy-analysis, and paper-trading are present.
plugin:quandora:quandora points to https://mcp.quandora.ai/quant over remote HTTP.
The platform launcher recorded status=completed with exitCode=0, and the MCP server is connected.
After verification, tell the user that Quandora is installed and authorized. Ask them to start a new local Claude Desktop Code session before using the newly installed skills and MCP tools.