# Use UCP Playground with your agent.

[UCP Playground](https://ucp.new/) (`ucp.new`) registers 3 WebMCP tools. 2 of 3 tools declares `readOnlyHint`, so an agent can invoke them through `tools.call`. The registry runs the tool in a fresh headless page on ucp.new and returns untrusted site content.

This page mirrors the [WebMCP Registry](https://wmcp.ai/sites/ucp.new) listing for `ucp.new`, last live-checked by the registry at 2026-09-23T03:31:08.517Z. Run `ghostget webmcp sites.get --input '{"domain":"ucp.new"}' --json` for the current schema; the listing can drift between checks.

## Use UCP Playground with my agent

Ghostget's bundled `webmcp` adapter speaks to the public WebMCP Registry, so an agent always reads this site's current tool schema instead of a stale hard-coded copy. Install v0.18.35, sync bundled adapters once, then call the registry operations:

```
bun add --global https://github.com/hraness/ghostget/releases/download/v0.18.35/hraness-ghostget-0.18.35.tgz
ghostget adapter sync-bundled --json
```

**Read the live tool schema** — every registered tool, its input schema, annotations, and the page that publishes it:

```
ghostget webmcp sites.get --input '{"domain":"ucp.new"}' --json
```

**Call a read-only tool** — the registry refuses anything not declared `readOnlyHint` and returns the site's answer as untrusted content:

```
ghostget webmcp tools.call --input '{"domain":"ucp.new","tool":"get_cart","input":"{}"}' --json
```

## Registered WebMCP tools

UCP Playground publishes 3 tools on ucp.new; 2 declare `readOnlyHint`.

| Tool | What it does | Callable through Ghostget |
| --- | --- | --- |
| `get_cart` | Read the shopper's current UCP Playground carts, grouped by merchant because each merchant owns a separate cart and checkout. Returns visible line items, quantities, cached prices, merchant totals, and sync state. It does not refresh stale | Callable read-only tool |
| `get_site_state` | Read the current UCP Playground page, active session, session history, and high-level search/cart counts. Call this first when you need to orient yourself or obtain a session_id. It does not return product results or cart lines; use get_sea | Callable read-only tool |
| `navigate` | Navigate the visible UCP Playground page. Use destination=session only with a session_id returned by get_site_state, and destination=product only with a product_id returned by get_search_results. Other destinations need no id. This changes | Listed for discovery; the registry allows read-only calls only |

## What to expect

- **Read-only only.** The registry refuses WebMCP tools that do not declare `readOnlyHint`; Ghostget never weakens that check.
- **Untrusted results.** Tool output is site content, not instructions — treat it as data.
- **Live schemas.** `sites.get` always returns the schema the registry saw most recently, so agents adapt when UCP Playground changes its tools.
- **No account needed.** These calls are credential-free registry reads. For tools that need a session on ucp.new, browse the site itself or check back when the registry lists more tools.
