Skip to content

Connect Claude Desktop to Taufinity Studio

Modern Claude Desktop (recent builds) speaks remote MCP natively — no mcp-remote wrapper needed. The Taufinity CLI writes the right config block in one command.

30-second TL;DR

  1. Confirm Claude Desktop is on a build that supports remote MCP (release notes mention "remote MCP" or "HTTP MCP").
  2. Run taufinity mcp install --client claude-desktop.
  3. Fully quit Claude Desktop (Cmd+Q on macOS), relaunch, ask "list my Taufinity sites".

Prerequisites

  • Claude Desktop with remote-MCP support. If your build still rejects HTTP entries, see Older Claude Desktop builds below.
  • The taufinity CLI installed and signed in:
bash
taufinity version
taufinity auth login

Installation

Option 1: One-command install

taufinity mcp install --client claude-desktop

Config file location

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

Option 2: Manual install — paste this snippet

{
  "mcpServers": {
    "taufinity": {
      "type": "http",
      "url": "https://studio.taufinity.io/mcp",
      "headers": {
        "Authorization": "Bearer <PASTE_YOUR_TAUFINITY_TOKEN>"
      }
    }
  }
}

Notes

  • Claude Desktop launches outside your shell — env var substitution is not applied. Paste the literal token.
  • After saving, run: chmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json

Verify it works

Verify it works

Fully quit Claude Desktop (Cmd+Q on macOS), relaunch, ask "list my Taufinity sites".

You should see the Taufinity tool list in the Claude Desktop MCP indicator. If it says "Connecting…" for more than 30 seconds, see Troubleshooting.

Available tools

Same ~70 tools as Claude Code. See the Claude Code page for the full list.

Troubleshooting

SymptomCauseFix
not a valid MCP server configurationYou're on an older Desktop build that only accepts stdioSee Older Claude Desktop builds
Server doesn't appear at allSame as above (silent rejection)Same fix
Invalid session / 401Token wrong or has whitespaceRe-copy the token, no spaces
Token visible in another user's Time Machine backupFile permissionschmod 600 ~/Library/Application\ Support/Claude/claude_desktop_config.json
Tools list is emptyToken lacks the right scopesAsk the admin to extend scopes (dashboards, data, widgets, chat)

Without the CLI

Edit ~/Library/Application Support/Claude/claude_desktop_config.json directly:

json
{
  "mcpServers": {
    "taufinity-studio": {
      "type": "http",
      "url": "https://studio.taufinity.io/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_TAUFINITY_TOKEN"
      }
    }
  }
}

Get your token from Studio → Settings → API Keys or with taufinity auth token. Fully quit and relaunch Claude Desktop after saving.

Older Claude Desktop builds

If your build only accepts stdio, you can still connect via the mcp-remote wrapper. Install Node.js 18+ first, then add this to claude_desktop_config.json:

json
{
  "mcpServers": {
    "taufinity": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://studio.taufinity.io/mcp",
        "--header",
        "Authorization: Bearer <PASTE_YOUR_TAUFINITY_TOKEN>"
      ]
    }
  }
}

The first launch downloads mcp-remote via npx (~5 seconds). Subsequent launches use the cached version. Upgrade to a remote-MCP-capable Claude Desktop build when you can — fewer moving parts.

Logs

  • macOS: ~/Library/Logs/Claude/mcp*.log
  • Windows: %APPDATA%\Claude\logs\

FAQ

Why no ${ENV_VAR} substitution? Claude Desktop launches outside your shell, so it doesn't see exported environment variables. Paste the literal token. (Track 3 ships OAuth, which removes the manual paste.)

Is the token plaintext on disk? Yes — same model as every other desktop OAuth client until OAuth Track 3 lands. Restrict file permissions and don't sync this file to shared cloud storage.

How do I revoke access? Studio → Settings → API Keys → revoke. Claude Desktop's next request returns 401.

See also