> ## 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 Code

> Add UniversalBench to Claude Code, Anthropic's terminal coding agent.

Claude Code supports MCP servers out of the box. Adding UniversalBench is one command.

## Setup

<Steps>
  <Step title="Get your personal MCP URL">
    Sign up at [universalbench.dev](https://universalbench.dev) and copy your URL.
  </Step>

  <Step title="Add UniversalBench">
    From any directory:

    ```bash theme={null}
    claude mcp add universalbench https://universalbench-mcp.penantiaglobal.workers.dev/u/ubk_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    ```

    No `--header` flag needed. The URL carries your auth.

    Or edit `~/.claude/mcp_config.json` directly:

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

  <Step title="Verify it connected">
    ```bash theme={null}
    claude mcp list
    ```

    UniversalBench should appear with status "connected".
  </Step>
</Steps>

## What you can do now

Ask Claude Code things that need real execution:

> Find every TODO in the codebase, group by file, and write a summary to `TODO_OWNERSHIP.md`.

Claude Code uses UniversalBench to grep across your repo at remote speed, then use Python to group and format the results into Markdown.

Or for pipelines:

> Search the web for the latest CVE alerts in the libraries my project uses. List anything critical from the last 7 days.

Claude Code chains `web_search` for the CVE data, `code` for parsing and filtering, and returns the result.

## Tips

<Tip>
  Add `--allow-tools universalbench__*` to your `claude` invocation to skip approval prompts for UB calls when you trust the workflow.
</Tip>

<Tip>
  Claude Code's session memory is local. UniversalBench's `session_id` adds remote session state so long running pipelines survive across CLI invocations.
</Tip>

## Troubleshooting

| Problem                                | Fix                                                                                   |
| :------------------------------------- | :------------------------------------------------------------------------------------ |
| `claude mcp list` shows "disconnected" | Run `claude mcp logs universalbench` to see the underlying error                      |
| 401 or 403 errors                      | URL token has a typo. Paste it again from the dashboard                               |
| Tool calls timeout                     | Use `session_id` to keep state warm between calls and avoid repeating expensive setup |
