How to Install an MCP Server in Claude, ChatGPT, Cursor, Windsurf, and VS Code

How to Install an MCP Server in Claude, ChatGPT, Cursor, Windsurf, and VS Code

MCP is the protocol every major AI client now speaks — Claude, ChatGPT, Cursor, Windsurf, VS Code, Zed. The install is basically the same JSON block four ways. If you want the “what is this” version, read what is MCP first; this post is the install walkthrough.

We’ll use Carly (an MCP server for managing your booking pages) as the running example, but every step works for any MCP server — swap carly for whatever you’re installing.

Prereqs (every client)

npm install -g carly-ai
carly login

That gets the binary on your PATH and authenticates against your account. Now pick your client.

1. Claude Code (CLI)

Easiest path. One command:

claude mcp add carly -- carly mcp

That’s it. Restart Claude Code and the carly tools show up in /mcp. Full reference: Claude Code MCP docs.

Verify: ask who has booked my consult page this week? — Claude should call the carly tool and answer.

2. Claude Desktop

Claude Desktop uses a JSON config file. Open it (or create it if missing):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Paste this block (merge into mcpServers if you already have one):

{
  "mcpServers": {
    "carly": {
      "command": "carly",
      "args": ["mcp"]
    }
  }
}

Quit Claude Desktop fully (Cmd+Q on macOS — closing the window doesn’t count) and reopen. The hammer icon in the chat composer should now list carly.

Verify: click the hammer, confirm carly is listed and enabled, then ask am I free Tuesday at 3pm?.

3. ChatGPT (Developer Mode)

ChatGPT supports MCP via Developer Mode under custom connectors. This is currently available on Plus, Pro, Team, and Enterprise plans only, and it accepts remote MCP endpoints — not local stdio servers.

Steps:

  1. ChatGPT → SettingsConnectorsAdvanced → toggle Developer mode on.
  2. Back in Connectors, click Add custom connector.
  3. Enter the server URL (e.g. https://mcp.usecarly.com/sse) and authenticate.

Local stdio servers like carly mcp need to be exposed over HTTP first. The simplest bridge is mcp-remote:

npx mcp-remote carly mcp --port 8787

Then point ChatGPT at http://localhost:8787/sse. For production, host the server somewhere reachable. Full reference: OpenAI MCP docs.

Verify: start a new chat, the connector should appear in the tools picker. Ask what meetings do I have tomorrow?.

4. Cursor

Cursor → SettingsFeaturesMCPAdd new MCP server. Paste:

{
  "mcpServers": {
    "carly": {
      "command": "carly",
      "args": ["mcp"]
    }
  }
}

Cursor stores this in ~/.cursor/mcp.json if you’d rather edit it directly. Restart Cursor.

Verify: open Cursor’s Composer, the carly tools show up in the available-tools list. Ask it to make a 30-minute booking page.

5. Windsurf

Windsurf → SettingsCascadeMCP serversAdd server. Same block:

{
  "mcpServers": {
    "carly": {
      "command": "carly",
      "args": ["mcp"]
    }
  }
}

Config file lives at ~/.codeium/windsurf/mcp_config.json. Restart Windsurf.

Verify: open Cascade, ask list bookings on my consult page — it should route through carly.

6. VS Code (Continue, Cline, Copilot Chat)

VS Code itself doesn’t host MCP — the extension does. The two most common:

Continue. Edit .continue/config.json (in your home directory or project root). Add an mcpServers entry under experimental:

{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "carly",
          "args": ["mcp"]
        }
      }
    ]
  }
}

Reload the VS Code window (Cmd+Shift+P → “Developer: Reload Window”).

Cline. Open the Cline panel → settings gear → MCP ServersEdit MCP Settings. Same mcpServers JSON block as Claude Desktop. Cline auto-reloads on save.

Copilot Chat. Native MCP support is rolling out behind the chat.mcp.enabled setting; once enabled, add servers via settings.json:

{
  "chat.mcp.enabled": true,
  "chat.mcp.servers": {
    "carly": {
      "command": "carly",
      "args": ["mcp"]
    }
  }
}

Verify: open the chat panel for whichever extension you configured, look for carly in the tool list, ask it to list bookings on one of your pages.

7. Zed

Zed calls MCP servers “context servers.” Open ~/.config/zed/settings.json and add:

{
  "assistant": {
    "mcp_servers": {
      "carly": {
        "command": "carly",
        "args": ["mcp"]
      }
    }
  }
}

Reload Zed (Cmd+Shift+P → “zed: reload”). The assistant panel will pick up the new tools automatically.

Verify: open the assistant, type /carly tools should appear in the slash menu.

Troubleshooting

“It’s not showing up.” Did you fully restart the app? On macOS, closing the window leaves Claude Desktop running — Cmd+Q is required. Cursor and Windsurf usually need a full quit too.

Config syntax errors. A trailing comma will silently kill the whole mcpServers block. Validate before restarting:

jq . ~/Library/Application\ Support/Claude/claude_desktop_config.json

If jq errors, your JSON is broken.

carly: command not found. The global npm install didn’t land on your PATH. Run npm config get prefix and confirm that directory’s bin is in your shell’s PATH. Re-run npm install -g carly-ai and watch for permission errors — on macOS you may need to fix npm’s prefix rather than sudo-installing.

Tool calls hang. Check carly login actually succeeded by running carly whoami. An expired token will let the MCP server boot but every tool call will time out.


That covers the seven clients that matter. For the official server registry, see github.com/modelcontextprotocol/servers.

Ready to automate your busywork?

Carly schedules, researches, and briefs you—so you can focus on what matters.

Get Carly Today →

Or try our Free Group Scheduling Tool or Free Booking Page