Skip to main content
macOS only · Pro
Anthropic's desktop app for chatting with Claude

Claude Desktop + SSH through SSHive's MCP server

By Lucas Russo, developer of SSHive · Updated

Ask Claude Desktop about your servers and let it check for itself, through the SSH and SFTP sessions open in SSHive. One-click extension, one token to paste.

Claude Desktop is Anthropic's app for chatting with Claude outside any IDE, and it can load MCP servers. It suits questions about your servers rather than coding sessions: open it, ask what went wrong on prod overnight, and Claude runs the commands it needs through SSHive before it answers. No editor, no code changes, just a conversation that can go and look. SSHive ships an extension for Claude Desktop. In Settings > MCP, "Install the extension" hands it to Claude Desktop, which asks you to confirm and to paste SSHive's token. You edit no file, and your Mac needs no Node.js. If you would rather not use it, SSHive also shows a block that runs npx mcp-remote against its SSE endpoint; that route does need Node.js. The MCP server overview lists what the assistant can and cannot do once connected.

Set up Claude Desktop with SSHive in 4 steps

  1. 1

    Turn on the MCP server and copy the token

    In SSHive, open Settings > MCP, turn on "Enable MCP server", then copy the Bearer token shown there. The extension will ask for it. MCP is part of Pro.

  2. 2

    Install SSHive's extension

    Still in Settings > MCP, click "Install the extension". Claude Desktop opens the SSHive extension and asks you to confirm the installation. Paste the token into the field it asks for. The port field defaults to 49422: change it only if you changed SSHive's port.

  3. 3

    Check that Claude Desktop sees SSHive

    In a chat, click the + button at the bottom of the message box, then Connectors: SSHive should be listed, with its tools. If it is not, quit Claude Desktop completely (Cmd+Q) and open it again.

  4. 4

    Open the sessions Claude should use

    In SSHive, open the sessions you want Claude to use. Then ask in Claude Desktop, in your own words: Claude finds the right session with ssh_list_sessions and chooses the command to run, and Claude Desktop asks for your approval before a tool runs.

Without the extension: the mcp-remote block

In place of step 2, you can use the block Settings > MCP shows for Claude Desktop: it runs npx mcp-remote against SSHive's SSE endpoint, with your token already in it (the one below has <your-token> instead). In Claude Desktop, Settings > Developer > Edit Config opens claude_desktop_config.json: add the sshive entry inside mcpServers, keeping your other servers, save, then quit Claude Desktop (Cmd+Q) and open it again before steps 3 and 4. This route needs Node.js on your Mac, for npx, and SSHive has to be open when Claude Desktop connects.

Copy this
{
  "mcpServers": {
    "sshive": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://127.0.0.1:49422/sse",
        "--header",
        "Authorization:Bearer <your-token>",
        "--transport",
        "sse"
      ]
    }
  }
}

What to ask Claude Desktop

You ask

"Did anything fail on prod since this morning?"

What happens

Claude runs systemctl --failed through ssh_execute, then journalctl -p err --since today --no-pager for the errors behind it, and tells you what broke and when.

You ask

"How many active connections does my postgres have right now?"

What happens

Claude runs sudo -n -u postgres psql -c "SELECT count(*) FROM pg_stat_activity" on the db-master session through ssh_execute and gives you the number with some context.

You ask

"Read the systemd unit for nginx and tell me if it has any odd settings."

What happens

Claude reads /etc/systemd/system/nginx.service (or wherever the unit lives) with sftp_read_file, reviews the ExecStart, ExecReload and Restart settings and points out anything unusual.

Why use Claude Desktop with SSHive (vs Claude Code or Cursor)

Claude Desktop is the client to pick when the task is not "write code" but "tell me what is going on with my servers": sorting out an alert in the evening, reviewing a server's configuration for anything risky, summarizing what looks unusual in yesterday's logs. None of that needs an editor. It needs a conversation that can go and look, in a window that stays open next to your work. For editing code against the same sessions, Claude Code and Cursor use the same SSHive server. The other reason is combination. Claude Desktop can run several extensions side by side, from its own directory in Settings > Extensions. With SSHive next to, say, a connector for your error tracker, Claude can match an alert with journalctl -u myservice on the host concerned, in the same chat. Keep in mind that everything Claude reads that way, from either side, goes into the conversation Claude Desktop sends to Anthropic.

Frequently asked questions

Do I need to edit claude_desktop_config.json?+
Not with the extension: "Install the extension" in SSHive does the setup, and you only paste the token. The file matters only for the mcp-remote route. On macOS it is claude_desktop_config.json, in ~/Library/Application Support/Claude/, and Claude Desktop opens it for you from Settings > Developer > Edit Config.
Claude Desktop does not list SSHive, or its calls fail: what now?+
Check three things. Is the server on in SSHive's Settings > MCP? The extension starts SSHive itself if it is closed; with mcp-remote, SSHive has to be open already. Is the token current? Restarting SSHive keeps it; only "Regenerate" changes it, and then the new one has to go into the extension's settings in Claude Desktop (Settings > Extensions) or into the mcp-remote block. With mcp-remote, is Node.js installed? npx needs it. Claude Desktop's MCP logs, in ~/Library/Logs/Claude, name the error.
Does Claude Desktop see my whole Mac, or only SSHive sessions?+
Only what SSHive's tools reach: the sessions open in SSHive and the paths on those servers. No SSHive tool runs a command on your Mac. Two of them do touch local files, because that is their job: sftp_write_from_local_path sends a file from the Mac to a server, and sftp_download_to_local_path saves a server file onto the Mac. Anything else on your Mac, such as browsing your own folders, takes a separate extension that you would install yourself.

Other clients and related pages

Claude Code + SSH through SSHive's MCP server

Anthropic's coding assistant, in the terminal and the IDE

Cursor + SSH through SSHive's MCP server

The AI code editor built on VS Code

Try SSHive Free for macOS

Get the all-in-one SSH, SFTP, RDP and VNC client for Mac. Free download, no signup required.

Download SSHive Free