Skip to content

Claude Desktop

Install Display.dev as a custom connector in Claude Desktop, or wire it up via API key.

On this page

Claude Desktop ships with a "Custom connectors" section under Settings. Pasting Display.dev's MCP URL there is the fastest way to get the publish tool into a conversation — Claude Desktop opens a browser, you sign in to Display.dev with your work email, and the connection is live. The two alternatives below stay supported for engineers who prefer a config file.

  1. Open Claude Desktop → Settings → Connectors → Add custom connector.
  2. Paste /v1/mcp into the URL field.
  3. Click Connect. A browser tab opens on Display.dev.
  4. Sign in with your work email. Display.dev sends a 6-digit OTP; paste it back into the browser tab.
  5. Pick the organization to authorize (if you belong to more than one), review the consent screen, and click Authorize.

The browser tab closes itself. Back in Claude Desktop, the publish tool now appears in the conversation tools panel.

To revoke the connection later, open app.display.dev/settings/connectors and click Revoke. Claude Desktop's next tool call returns an auth error and the user can re-authorize from Settings.

Option 2 — Static API key (advanced)

If you want a long-lived credential that doesn't go through a browser flow — for headless setups, locked-down workstations, or anything that bans browser auth — wire Claude Desktop up via mcp-remote and an API key.

The config file lives at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
  1. Generate an API key at app.display.dev/keys. Keys start with sk_live_….

  2. Add the mcpServers block:

    json
    {
      "mcpServers": {
        "display": {
          "command": "npx",
          "args": [
            "-y",
            "mcp-remote",
            "/v1/mcp",
            "--header",
            "Authorization: Bearer sk_live_..."
          ]
        }
      }
    }
  3. Fully quit Claude Desktop (⌘Q on macOS) and reopen it. The first launch downloads mcp-remote; subsequent launches use the npx cache.

To rotate the key, generate a new one in the dashboard and update the --header argument.

Option 3 — Local CLI

If you already have the Display.dev CLI installed, point Claude Desktop at it directly. Auth comes from the session dsp login writes — no key to paste.

  1. Install the CLI: npm install -g @displaydev/cli, then dsp login.

  2. Run which dsp to find the absolute path. Claude Desktop does not expand ~ or use the shell PATH, so a bare dsp will not resolve.

  3. Add the mcpServers block (substitute the path from step 2):

    json
    {
      "mcpServers": {
        "display": {
          "command": "/usr/local/bin/dsp",
          "args": ["mcp"]
        }
      }
    }
  4. Restart Claude Desktop.

Common errors

  • "Connection failed" in the custom-connector flow — make sure the URL is exactly /v1/mcp. Trailing slash matters.
  • OTP email doesn't arrive — check spam, and confirm the email matches the one your organization signed up with.
  • Authorize screen says "no organization" — your account isn't a member of any active organization. Create or join one first.
  • Tool calls 401 (Option 1) — the connector grant was revoked from app.display.dev/settings/connectors, or Claude Desktop lost its stored connector credentials. Open Claude Desktop → Settings → Connectors and reconnect.
  • Tool calls 401 (Option 2) — the API key was deleted or pasted incorrectly. Generate a new one and update the --header argument.
  • Tool calls 401 (Option 3) — your saved session expired. Run dsp login from a terminal; restart Claude Desktop.
  • "command not found" in the MCP log (Option 3) — the command path is wrong or dsp isn't installed. Run which dsp and paste the absolute path.
  • Tool doesn't appear after restart (Option 2 or 3)claude_desktop_config.json has a syntax error. Validate it with jq . < claude_desktop_config.json.
  • First launch hangs (Option 2)npx -y mcp-remote is downloading the package. Wait 30–60 seconds; future launches reuse the cache.

Was this page helpful?