Local client profile example
The current November 10, 2026 guide specifies the public OAuth client below. Use it if your application supports this profile and can receive its callback. A different redirect URI requires a corresponding operator-registered profile.
- Client ID
copytrader-mcp-local- Redirect URI
http://127.0.0.1:6276/oauth/callback- Client secret
- Not required for this public client profile.
The client's OAuth component receives the loopback callback on its own machine. It is not the CopyTrader API URL. A different callback requires an operator-registered profile; do not change production service URLs to work around a mismatch.
Sign-in and data reads through Codex were verified with this profile on November 10, 2026. The tested connection settings are shown below. Verify compatibility separately for another client or version; revocation and token refresh require separate checks.
Codex setup
Add the connection in Codex MCP settings. If editing config.toml, use this block; update an existing copytrader connection rather than duplicating it. Do not add a client secret or tokens to the configuration.
[mcp_servers.copytrader]
url = "https://api.copytrader.pw/mcp"
scopes = ["mcp.access", "offline_access"]
[mcp_servers.copytrader.oauth]
client_id = "copytrader-mcp-local"
callback_url = "http://127.0.0.1:6276/oauth/callback"
callback_port = 6276
Sign in through the CopyTrader connection in Codex or use the command below. With --no-browser, open the provided link yourself, approve the connection through Telegram, and paste the full callback URL only into the waiting Codex CLI window. Do not send a URL containing an OAuth code in chat. After sign-in, verify get_my_access and the four initial reads in the next section.
codex mcp login copytrader --no-browser
ChatGPT and Claude require OAuth settings supported by their respective applications. The local Codex callback does not establish cloud-client compatibility or a directory listing.
The OAuth client validates state and issuer, uses PKCE S256 and one resource matching the MCP server URL. The client handles codes, verifiers, and tokens and stores them outside the conversation. On refresh, it saves the replacement refresh token when one is returned.
After Telegram connection approval, the browser continues OAuth automatically. Success is confirmed only after the code exchange and a successful get_my_access call. Per-command Telegram approval is not required where the cabinet does not require it.