Setup
1
Get your personal MCP URL
Sign up at universalbench.dev and copy your URL from the dashboard. It looks like
https://universalbench-mcp.penantiaglobal.workers.dev/u/ubk_...2
Open Cursor MCP settings
Open Settings with
Ctrl+, (Windows or Linux) or Cmd+, (macOS), then go to Tools & MCP in the sidebar and click Add Custom MCP. Cursor opens your mcp.json file (at ~/.cursor/mcp.json).3
Paste the config
Replace the contents of Notice there is no
mcp.json with this, using your own URL:headers block. The URL itself is the auth. Save the file.4
Confirm the connection
Back in Tools & MCP,
universalbench appears under User MCP Servers with a green dot, and three tools are listed: ub_read, ub_write, and ub_ai. The connection is usually instant. If it does not appear, reopen the settings panel or restart Cursor.The three tools
UniversalBench exposes three tools, grouped by what they do:What you can do now
Ask the Cursor Composer things that need execution:
Run a quick analysis on the test runs in /tmp/results.csv. Group failures by file and tell me the top three offenders.
Cursor uses ub_write with its code capability to read the CSV with pandas, group the failures, and return the analysis as plain text. No CSV dump in the context window.
Or:
Use the cheapest available LLM via UniversalBench to draft a commit message for my staged diff.Cursor uses
ub_ai with invoke_llm to route to a cheap model, saving tokens compared to using the editor’s primary model for low value text generation.
When to reach for UniversalBench in Cursor
UniversalBench is not a replacement for Cursor’s local tools. For editing files in your repo and running local tests, Cursor’s own tools are faster. UniversalBench earns its place when you want:- The agent to query or change your database or GitHub using credentials stored once in the vault, without pasting tokens into chat
- Validated pushes and safe deploys with rollback, rather than commit and hope
- An isolated cloud runtime when you do not want agent code running on your machine, or your local shell is restricted
- Cost-capped LLM and web calls for small bounded subtasks