← Back to Insights
ORIGINAL

Claude Code CLI vs Desktop Connectors — When to Use `claude mcp add` vs Web Connectors

Claude ships two MCP attach paths: web connectors in Desktop (cloud → your HTTPS URL) and CLI registration via `claude mcp add`. Here is a decision guide, command cheat sheet, and fallback plan when transport flags differ across CLI versions.

Split view of Claude Desktop web connector settings and Claude Code terminal running claude mcp add for the same HTTPS MCP endpoint

You connected Influzer MCP Discovery in Claude Desktop on Tuesday. Wednesday, an engineer asks for the same catalog inside Claude Code in the terminal. They run a command, get a flag error, and assume the server is broken.

It is not. Claude is two clients with two attach paths. Same MCP protocol, same HTTPS endpoint — different install UX, different transport defaults, different fallback when CLI versions drift.

This article is the decision guide we wish teams had before opening a second “Claude MCP” ticket.

The two Claude surfaces

SurfaceWho uses itHow MCP attachesBest for
Claude Desktop / web / mobilePM, ops, eng leads, broad orgSettings → Connectors → Custom → WebNo local install, OAuth in UI, per-chat enable
Claude Code (CLI)Developers in repo / terminalclaude mcp add (+ optional --transport http)Coding sessions, stdio servers, scriptable setup docs

Both can hit the same remote URL — e.g. https://www.influzer.ai/mcp/discovery. The server does not care which UI registered it. Your docs should show both paths anyway, because users arrive from different entry points.

Related: one MCP, three surfaces (Claude + ChatGPT + Cursor). This post zooms into the Claude-only fork.

Desktop / web connectors (the UI path)

  1. Open Claude → Settings → Connectors (or claude.ai/customize/connectors).
  2. Add connector → Custom → Web.
  3. Name + paste HTTPS URL (include path if required).
  4. OAuth only if your server requires it; none for public read-only tools.
  5. Start a new chat → enable connector for that conversation.

Properties:

Claude Code CLI (the terminal path)

For remote HTTPS servers, the canonical Influzer Discovery command is:

claude mcp add --transport http influzer-discovery \
  https://www.influzer.ai/mcp/discovery

Then verify:

claude mcp list

Properties:

Full tabbed setup: /mcp/discovery/setupClaude Code.

Decision guide: which path when?

ScenarioUse Desktop connectorUse Claude Code CLI
Public HTTPS read-only (Discovery, docs search)✓ Easiest for non-devs✓ Document in eng runbooks
Local stdio server next to repo✗ Cannot reach localhost✓ Primary path
OAuth connector with browser flow✓ Native UIVaries — check CLI OAuth support
Reproducible eng onboardingManual clicks✓ Scriptable commands
Org-wide non-engineering rolloutNot the target user

Rule of thumb: publish both snippets in your server docs. Label them “Claude (web)” and “Claude Code (CLI)” — not a single “Claude setup” section that hides the split.

When CLI flags disagree (fallback playbook)

The most common failure mode in 2026: Desktop connector works; CLI rejects --transport http or expects a different subcommand.

Do not fork the server. Same URL, alternate attach path:

  1. Confirm the URL in Desktop first — proves HTTPS, DNS, TLS, and tools/list from Anthropic egress.
  2. Check CLI versionclaude --version; update if stale.
  3. Retry without assuming flag parity — some builds register HTTP URLs without the explicit transport flag; others require it. Match Influzer’s current tab at /mcp/discovery/setup.
  4. Still stuck? Use Desktop/web connector for remote HTTPS; use CLI only for stdio/local until flags align.
  5. Document the working command in your README with version pin — “Tested Claude Code 1.x”.

This is why we ship separate setup tabs per client instead of one generic “Claude” block.

Stdio vs HTTP on Claude Code only

Claude Code inherits the remote vs local split:

Directory listings that only show stdio install commands are Claude Code–only, not “Claude org-ready.” Ask vendors for the HTTPS URL and both attach paths.

Security notes (both paths)

Example: Influzer Discovery on both paths

Desktop: Custom Web connector → https://www.influzer.ai/mcp/discovery → enable in chat → ask: “Search Influzer for Postgres MCP servers.”

Claude Code:

claude mcp add --transport http influzer-discovery \
  https://www.influzer.ai/mcp/discovery
claude mcp list

Same tools: search_mcp_servers, recommend_mcp_servers, get_mcp_server, list_mcp_topics. Deeper intro: Search MCP without leaving your client.

What to publish in your server docs

  1. Canonical HTTPS URL (path included).
  2. Desktop steps (5 bullets max) + link to Anthropic connector docs.
  3. Claude Code command with transport flag + claude mcp list verify step.
  4. Fallback line — “If CLI flags fail, use Desktop web connector with the same URL.”
  5. Auth section — OAuth vs none, per surface if different.

Mirror the tab pattern on Discovery setup — Claude, Claude Code, ChatGPT, Cursor.

Quick answers

Is Claude Code the same as Claude Desktop for MCP?

No. Same brand, different attach mechanisms. Plan docs for both.

Can I skip Desktop if my team is CLI-only?

Yes for engineering — but product/legal/design will still need Desktop connectors for remote HTTPS tools.

Does ChatGPT have a CLI equivalent?

Not in the same way. ChatGPT stays on Developer Mode connectors — included in our three-surface guide, not this Claude fork.

Should stdio servers document a Desktop path?

Only if you also ship HTTPS remote. Otherwise label Claude Code / Cursor only honestly.

Final thought

“Works in Claude” is ambiguous. Buyers and builders should ask: Desktop connector, Claude Code CLI, or both?

Ship one HTTPS endpoint. Document two attach paths. When flags drift, fall back to the web connector — not a second server fork.

That is how Claude stops being the MCP surface where setup docs go to die.

GET PRACTICAL AI PLAYBOOKS WEEKLY

One clear email each Thursday

Actionable frameworks on AI execution, agents, and MCP. Join 4,200+ builders.

✓ You're in — first briefing Thursday.

Leave a comment

Be the first to share your thoughts.

Related insights

2026-08-22
.cursor/mcp.json Is Becoming Team Policy — The New Perimeter for Which Tools Your Repo Allows
Shared MCP config in git is replacing ad-hoc connector sprawl. Project-level .cursor/mcp.json is how teams declare which agent tools are in-bounds for a repo — and what stays in personal config with secrets.
2026-08-22
Discovery MCP Is the New App Store Search — Why Agents Find Integrations by Capability, Not Brand
Humans browse MCP directories like an app store. Agents search by capability — scrape to markdown, Postgres, create_issue. Discovery MCP turns the catalog into a tool your assistant can call. Here is what that shift means for server authors and team allowlists.
2026-08-22
Don't Put Secrets in MCP Headers — Why Mcp-Method Routing Creates a New Leak Path
MCP 2026-07-28 added header-based routing so gateways can meter on Mcp-Method and Mcp-Name without parsing JSON. That is an ops win — and a logging footgun if teams map tokens or tenant IDs into headers.