Skip to content
Algo Trade Analytics Docs

Client Setup

Professional

Use the endpoint and snippets shown in Dashboard > MCP Access. Local, preview, and production endpoints are different, so copy the values from the environment you are testing.

  1. Open Dashboard > MCP Access.

  2. Keep OAuth selected as the connection method.

  3. Copy the MCP endpoint shown on the page.

  4. Pick the client tab and copy the generated setup snippet.

  5. Start the client’s sign-in flow.

  6. After the first successful MCP call, the OAuth connection appears on the MCP Access page.

Codex should use Algo Trade Analytics’s Client ID Metadata Document (CIMD) URL as the OAuth client identifier. Do not paste a bearer token or pass a fixed Auth0 application client ID.

Before users can log in, an Auth0 tenant administrator must import the published CIMD URL as a third-party application and grant it user-delegated access to the Algo Trade Analytics MCP API. Enabling CIMD discovery alone does not register the client.

Before logging in, configure Codex to store MCP OAuth credentials in local files and use Algo Trade Analytics’s fixed loopback callback port. Add these top-level settings to ~/.codex/config.toml before any [mcp_servers.*] table, creating the file if needed:

~/.codex/config.toml
mcp_oauth_credentials_store = "file"
mcp_oauth_callback_port = 5555

Restart Codex after editing the config, then continue with the OAuth commands. File-backed storage avoids repeated macOS Keychain prompts for Codex MCP Credentials after Always Allow, but it stores MCP OAuth credentials in Codex’s local files. Protect ~/.codex like other local secrets.

Terminal window
codex mcp add algo-trade-analytics \
--url <MCP endpoint copied from Algo Trade Analytics> \
--oauth-client-id <Client ID Metadata Document URL copied from Algo Trade Analytics>
codex mcp login algo-trade-analytics \
--scopes mcp:read,mcp:research:write,mcp:candidate:write,mcp:memory:write,offline_access

codex mcp login prints an authorization URL. Complete the OAuth flow in the browser profile that is signed in to the Algo Trade Analytics account you want to use. Codex uses the MCP endpoint as the OAuth resource audience; do not replace it with the Auth0 tenant or an Auth0 application ID. offline_access lets the client receive a refresh token for long research sessions; it does not grant additional Algo Trade Analytics MCP tool permissions.

Algo Trade Analytics publishes the complete environment-specific Codex callback in its CIMD. The fixed port keeps Codex on that registered callback instead of an ephemeral port. Do not set mcp_oauth_callback_url or add the temporary port from an individual login to Auth0. If Auth0 still reports a callback mismatch, confirm the port setting, restart Codex, and have the tenant administrator refresh the imported CIMD application before retrying.

If Codex OAuth is still noisy or blocked on a target machine, use the Manual Bearer Fallback below for Codex until the local credential-store issue is resolved.

Claude.ai Cowork, Claude.ai, and Claude Desktop

Section titled “Claude.ai Cowork, Claude.ai, and Claude Desktop”

Claude.ai Cowork, Claude.ai, and Claude Desktop use Claude’s connector/settings UI. Do not paste a CLI setup block into a Cowork chat and expect the assistant to register or authenticate the connector.

Add a remote connector with these values:

Connector name: Algo Trade Analytics
Connector type: Remote HTTP MCP
Connector URL: <MCP endpoint copied from Algo Trade Analytics>
Authentication: OAuth

Claude discovers Algo Trade Analytics’s protected-resource metadata and Client ID Metadata Document from the MCP URL, then handles OAuth in-app. Use the plain MCP endpoint URL exactly as shown in Algo Trade Analytics. Do not wrap it in Markdown brackets.

After the connector shows Connected, ask Cowork:

Use the algo-trade-analytics connector and list the available tools.

Surfaces that accept JSON config should still use a plain URL:

{
"mcpServers": {
"algo-trade-analytics": {
"type": "http",
"url": "<MCP endpoint copied from Algo Trade Analytics>"
}
}
}

Claude Code registers remote MCP servers from the terminal. Verified on Claude Code 2.1.223 — if claude mcp login or --client-id is not recognised, run claude update first.

Copy the commands from the Claude Code tab on the MCP Access page and paste them into your terminal. They look like this, with your own MCP endpoint:

Terminal window
claude mcp remove -s local algo-trade-analytics
claude mcp remove -s user algo-trade-analytics
claude mcp add --transport http --scope user \
--client-id https://app.algo-trade-analytics.com/.well-known/oauth-client/algo-trade-analytics-mcp.json \
--callback-port 5555 \
algo-trade-analytics https://app.algo-trade-analytics.com/mcp
claude mcp login algo-trade-analytics

claude mcp login opens your browser and waits, so it is deliberately the last line — anything pasted after it would be swallowed by its terminal prompt. When sign-in finishes, verify with:

Terminal window
claude mcp list

The algo-trade-analytics line should read Connected.

The two remove commands clear any earlier registration. On a machine that has never connected, they reply No MCP server named "algo-trade-analytics" and exit non-zero — that is expected, and the rest of the block still runs. They matter because claude mcp add will not overwrite an existing entry, and a registration made inside a project folder silently outranks the shared one while still reporting success.

Both flags are required:

  • --client-id is Algo Trade Analytics’s Client ID Metadata Document (CIMD) URL. It is a public identifier, not a secret, and it is not a bearer token. Leave it out and Claude Code presents its own client identity instead, which the authorization server rejects with Unknown client.
  • --callback-port 5555 pins the local OAuth listener. Algo Trade Analytics pre-registers http://localhost:5555/callback, and the authorization server matches callback URLs exactly, so a random port fails with a callback URL mismatch. Keep port 5555 free while you sign in.

--scope user makes the server available in every project. Drop it to register only the current folder. If you once registered Algo Trade Analytics from inside a specific project folder, run the two remove commands from that folder too, then confirm claude mcp get algo-trade-analytics reports Scope: User config.

If your Claude Code build has no claude mcp login, run /mcp inside Claude Code and choose Authenticate instead. Needs authentication before that step is expected.

Algo Trade Analytics advertises offline_access, allowing Claude Code to refresh its OAuth credentials for long-running research sessions.

Add Algo Trade Analytics as a remote HTTP MCP server using the endpoint from the MCP Access page. Choose OAuth when the client offers an authentication method. Do not add an Authorization header for OAuth setup.

{
"mcpServers": {
"algo-trade-analytics": {
"type": "http",
"url": "<MCP endpoint copied from Algo Trade Analytics>"
}
}
}

Studio and API workflows do not complete remote OAuth on behalf of your Algo Trade Analytics account. Use the manual path and provide the bearer value from a secret.

Terminal window
export ATA_MCP_TOKEN="<MCP access token>"
{
"type": "mcp",
"server_label": "ata",
"server_description": "Algo Trade Analytics research context and strategy evidence tools.",
"server_url": "<MCP endpoint copied from Algo Trade Analytics>",
"authorization": "Bearer ${ATA_MCP_TOKEN}",
"require_approval": "always",
"allowed_tools": ["ata_context"]
}

Use manual API keys only when the client cannot complete OAuth or when you are working with API-side MCP calls that need an explicit authorization value.

  1. Open Dashboard > MCP Access.

  2. Switch the connection method to Manual API key.

  3. Create a token with the narrowest scopes required for your client.

  4. Copy the token before leaving the page. Algo Trade Analytics shows the full token only once.

  5. Store the token in an environment variable or secret manager. Do not commit it to config files.

Terminal window
export ATA_MCP_TOKEN="<MCP access token>"
[mcp_servers."algo-trade-analytics"]
url = "<MCP endpoint copied from Algo Trade Analytics>"
bearer_token_env_var = "ATA_MCP_TOKEN"

Use a bridge only when the host cannot connect to a remote HTTP MCP server directly.

{
"mcpServers": {
"algo-trade-analytics": {
"command": "uvx",
"args": [
"fastmcp-remote",
"<MCP endpoint copied from Algo Trade Analytics>",
"--header",
"Authorization: Bearer <MCP access token>"
]
}
}
}