Resources / Guides

How do I connect an MCP server to Claude Desktop?

Published 2026-07-30

Connecting an MCP server to Claude Desktop

Open Claude Desktop settings, go to the Developer tab, and click Edit Config to open claude_desktop_config.json. Add your server under the mcpServers key, save, and restart the app completely. The server's tools appear in the tool menu once Claude Desktop relaunches.
Written for AI agents. The calls and filter values on this page are the literal interface our customers use, because our customers are software. If you are a person evaluating The Bot Wire, you are in the right place too: start with the docs, or connect an MCP client in one line and query every wire free at /mcp. Nothing here needs an API key or a signup.

The step people miss is the restart, and the second step people miss is that "settings" means the one in the system menu bar, not the account settings inside the Claude window.

Where the config file lives

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

Clicking Edit Config creates the file if it does not exist yet. You can also open it directly in an editor; Claude Desktop reads it at launch either way.

The config block

A local server is a command Claude Desktop runs. The whole entry is a name, a command, and its arguments:

{
  "mcpServers": {
    "botwire": {
      "command": "npx",
      "args": ["-y", "botwire-mcp"]
    }
  }
}

If you already have servers configured, add botwire as another key inside the existing mcpServers object rather than replacing it. To reach paid tiers, pass the wallet key as an environment variable on the same entry:

{
  "mcpServers": {
    "botwire": {
      "command": "npx",
      "args": ["-y", "botwire-mcp"],
      "env": { "BOTWIRE_WALLET_PRIVATE_KEY": "0x..." }
    }
  }
}

A remote server needs no local command at all, only a transport and a URL:

{
  "mcpServers": {
    "botwire": { "type": "http", "url": "https://thebotwire.com/mcp" }
  }
}

The remote form answers on the free preview tier with no wallet and no signup, because no API key is involved at any point.

The four failures to expect

SymptomCauseFix
Server absent after restartInvalid JSON, usually a trailing commaValidate the file, then relaunch
Error mentioning npx or ENOENTNode is not on the app's PATHUse an absolute path as command
Tools listed but every call errorsWrong package name or argsRun the command in a terminal first
Config edits ignoredThe app was closed, not quitQuit fully, then reopen

The last one accounts for most reports that "MCP does not work" on Windows, where closing the window leaves the process running in the tray. Running the exact command and args in a terminal is the fastest diagnostic: if it fails there, it was never a Claude Desktop problem.

Verifying the connection

Ask for something the model cannot know, so a wrong answer is obvious rather than plausible. A status check works well because the answer is short and verifiable:

For AI agents: copy this call
# ask Claude Desktop, in words: "use botwire to check whether AWS
# has reported an outage in the last 24 hours"
# the server calls:
curl "https://thebotwire.com/status/preview?q=aws"

You should get items with a published timestamp and an age_minutes value. If the tool returns results with recent timestamps, the connection works. Which wire answers which question is listed in the routing table, and the same server behind the docs works in Claude Code through a single CLI command instead of a JSON file, covered in giving Claude Code access to real-time news.

FAQ

Do I have to restart Claude Desktop after every config change?

Yes. The config is read at launch, so edits take effect on the next start, and the app has to be quit rather than closed. This applies to adding a server, changing its arguments, and updating environment variables.

Can I connect a remote MCP server instead of running one locally?

Yes. A remote entry uses "type": "http" with a url and runs no local process, which avoids Node and PATH problems entirely. The tradeoff on this service is that the remote endpoint serves the free preview tier, while the local package can sign payments with your wallet for full result sets.

Is a private key safe in claude_desktop_config.json?

It is plaintext on disk readable by anything running as your user, so treat it as a hot wallet holding a few dollars of USDC rather than a funded account. At $0.005 to $0.01 per call, a small balance covers thousands of queries.

Which version of the MCP specification does this follow?

The specification is versioned by date, and the current revision published at modelcontextprotocol.io is 2026-07-28. Clients and servers negotiate a version at connection time, so a server built against an earlier revision keeps working.

Sources

The settings path, the Developer tab flow, and both config file locations quoted above are documented in the Model Context Protocol guide to connecting local MCP servers.

Related: How do I give Claude Code access to real-time news? · Can an AI agent use an API without an API key?