Find your client and note the field name it expects - three different keys are in use for the same URL.
The Claude chat apps (claude.ai and Claude Desktop) are not recommended - no file uploads, no image scanning. Prefer Claude Code, which is fully capable in every form including its desktop app.
After adding the server, start a new session. Clients read their server list at startup, so a server added mid-conversation will not appear. Restart the CLI, or quit and reopen the desktop app - closing the window is not enough.
Add the server. Use --scope user so it follows you into every project; drop the flag to keep it to the current directory.
Add the server
Start Claude Code, run /mcp, pick copyleaks_app, and sign in. The browser round-trip stores a token in your OS keychain - you will not be asked again until it expires.Or sign in without a session: claude mcp login copyleaks_app. If the browser does not open, open the printed URL yourself. On a headless machine or over SSH, add --no-browser and paste the full redirect URL back at the prompt - over SSH, connect with ssh -t so the paste prompt works.Confirm:
Check the connection
A healthy server reports ✔ Connected. ! Needs authentication means the sign-in did not complete. ⏸ Pending approval means a committed .mcp.json entry has not been approved on this machine yet - run /mcp and approve it.Sharing it with a team - add it to .mcp.json at the project root and commit that file. Each teammate approves the server once and signs in with their own Copyleaks account; no credentials travel in the file.
.mcp.json
A url with no type is silently skipped. A JSON entry with a url and no type is read as a local command and skipped, with the message MCP server "copyleaks_app" has a "url" but no "type". Config blocks written for other clients routinely omit it. Always add "type": "http".

Verify the connection

Probe the endpoint from your own machine before blaming a client.