← All articles
MCP4 min read

Claude MCP Add: How to Add an MCP Server to Claude (Step by Step)

The exact steps to add an MCP server to Claude Desktop, Claude Code, or Claude.ai — plus what to check if the connection does not show up, and what to do about the "server with this url already exists" error.

Adding an MCP server to Claude takes a few minutes once you know which Claude client you are using, since the setup differs slightly between Claude Desktop, Claude Code, and Claude.ai. This guide covers all three paths, a real working example rather than a placeholder command, and the specific errors people actually run into.
WalkthroughSee it on a real account

One minute of Claude reading a live Google Ads account through MCP Ads, asking before it changes anything.

Add an MCP server in Claude Desktop, Claude Code, or Claude.ai
The exact command for claude mcp add, with a real server
Fix "server with this url already exists" and tools-not-appearing

Adding an MCP server in Claude Code

Claude Code adds remote MCP servers through a CLI command. The general form is claude mcp add <name> --transport http <server-url> — here it is with a real, working server rather than a placeholder:

  • claude mcp add --transport http mcp-ads https://mcp-ads.com/mcp-slim
  • For a local/stdio server instead of a remote one: claude mcp add <name> -- <command> <args>
  • Claude Code stores the configuration in ~/.claude.json at the user level, not per-project
  • Restart any open Claude Code sessions after adding a server for the tools to appear — an existing session does not pick up new servers automatically

Adding an MCP server in Claude Desktop

Claude Desktop reads MCP server configuration from a JSON config file for local/stdio servers, but for a remote server — one reachable over a URL, like most SaaS-hosted MCP servers — the faster path is the in-app connector flow: Settings → Connectors → Add custom connector, then paste the server URL directly. No config file editing needed for this case.

The URL you paste is the same one used everywhere else: https://mcp-ads.com/mcp-slim for MCP Ads, or the equivalent hosted endpoint for any other remote MCP server.

Adding a remote MCP server in Claude.ai

In Claude.ai, go to Settings → Connectors → Add custom connector, paste the MCP server URL, and approve the connection. For servers that require account authorization on top of the server connection itself (ad platforms, CRMs, anything with its own login), you will be prompted to connect each underlying account through browser-based OAuth after the server itself is added — that is a separate step from adding the server.

"A server with this url already exists" — what it means and how to fix it

This error fires when Claude Code already has an entry pointing at that URL (or that name) under a different local label, and a second claude mcp add tries to register it again. It is not a sign anything is broken — Claude Code is refusing a duplicate, not failing to connect.

Run claude mcp list first to see what is already registered and under what name. If the existing entry is the one you want, there is nothing to fix — connect a new conversation and the tools will already be there. If it is stale (an old URL, a renamed server, a test entry), remove it with claude mcp remove <name> and re-add it with the name and URL you actually want.

  • claude mcp list — see every server currently registered and its URL
  • claude mcp remove <name> — clear a stale or duplicate entry before re-adding
  • The name in claude mcp add <name> is just a local label; the URL is what Claude actually matches on, so renaming does not dodge the conflict — the URL has to be free too

Verifying the connection actually worked

Adding a server and having it work are two different checkpoints. Start a brand-new conversation (not one already open before you added the server) and ask something the server can only answer with real access — for MCP Ads, a prompt like "list my connected ad accounts" only succeeds if the server is registered and any required account authorization is complete.

A generic response, a refusal, or the assistant saying it does not have that capability usually means one of the two steps above — server registration or account OAuth — did not finish, not that the product itself does not support the request.

If the MCP server tools do not show up

Beyond the duplicate-URL error above, a few other checks resolve most remaining cases.

  • Restart the Claude session completely — a simple reload sometimes is not enough
  • Check that the server URL or command has no typos and that any required environment variables are set
  • For remote servers, confirm the OAuth/account-connection step was completed, not just the server-add step
  • Run claude mcp list (Claude Code) to confirm the server is registered before troubleshooting further

FAQ

What is the exact claude mcp add command?

For a remote server: claude mcp add --transport http <name> <server-url> — for example, claude mcp add --transport http mcp-ads https://mcp-ads.com/mcp-slim. For a local command-based server: claude mcp add <name> -- <command> <args>. Run claude mcp add --help for the full option list.

Why does Claude say "a server with this url already exists"?

Because that URL (or name) is already registered, under whatever label it was first added with. Run claude mcp list to see it, then either use the existing entry or claude mcp remove <name> it before re-adding.

Do I need to repeat claude mcp add every time I start Claude Code?

No. The configuration is saved to ~/.claude.json and persists across sessions — you only need to add it once per machine.

Is the setup different for Claude.ai versus Claude Desktop?

Both support adding a remote MCP server as a custom connector by URL through Settings, no config file needed. Claude Code is the outlier, using a CLI command instead of a settings UI.

Ready to connect your marketing stack?

Connect Google Ads, Meta Ads, GA4, and Search Console. Ask Claude anything about your accounts.