> ## Documentation Index
> Fetch the complete documentation index at: https://docs.universalbench.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Use with Claude Desktop

> Add UniversalBench to Claude Desktop (Anthropic's native macOS and Windows app).

Claude Desktop has supported MCP since late 2024. UniversalBench connects in one config edit with no headers to configure.

## Setup

<Steps>
  <Step title="Get your personal MCP URL">
    Sign up at [universalbench.dev](https://universalbench.dev). After email verification, copy your URL from the dashboard.
  </Step>

  <Step title="Open the config file">
    On macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

    On Windows: `%APPDATA%\Claude\claude_desktop_config.json`

    Create the file if it does not exist.
  </Step>

  <Step title="Add UniversalBench">
    ```json theme={null}
    {
      "mcpServers": {
        "universalbench": {
          "url": "https://universalbench-mcp.penantiaglobal.workers.dev/u/ubk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        }
      }
    }
    ```

    That is the entire config. One URL, no headers field. Claude Desktop reads the URL on startup and the tools appear.
  </Step>

  <Step title="Restart Claude Desktop">
    Quit fully (not just close the window) and reopen. UniversalBench appears in the conversation tool list.
  </Step>
</Steps>

## What you can do now

Claude Desktop is great for ad hoc analysis. Try:

> Use UniversalBench to search the web for the largest pension fund returns in 2026, pull the numbers, and analyze the top 10.

Claude Desktop calls `web_search` for current data, runs Python to parse and analyze, and returns clean analysis.

Or:

> Store my Stripe API key in UniversalBench's secrets vault under the name STRIPE\_KEY. From now on, whenever I ask you to do anything with payments, inject it by name.

Claude uses `secrets_vault` to store the value encrypted. On every subsequent payment task, it injects the secret by name without pasting the value into the conversation.

## Tips

<Tip>
  Claude Desktop persists conversations but loses tool state between calls. UniversalBench's `session_id` solves this when you want a Python variable, imported module, or loaded dataframe to survive multiple tool calls in a long conversation.
</Tip>

## Troubleshooting

| Problem                            | Fix                                                                               |
| :--------------------------------- | :-------------------------------------------------------------------------------- |
| Tools do not appear                | Open `Developer` then `MCP Logs` in Claude Desktop and read the connection error  |
| Config file path wrong             | The path is OS specific. See Step 2 above                                         |
| 401 or 403 errors                  | Re copy the URL from your dashboard. One wrong character in the token breaks auth |
| URL stopped working after rotation | Update the config with the new URL from your dashboard                            |
