# Use placeholders.dev with your agent.

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

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

## Use placeholders.dev 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":"placeholders.dev"}' --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":"placeholders.dev","tool":"explain_placeholder_image_url","input":"{}"}' --json
```

## Registered WebMCP tools

placeholders.dev publishes 2 tools on placeholders.dev; 1 declare `readOnlyHint`.

| Tool | What it does | Callable through Ghostget |
| --- | --- | --- |
| `explain_placeholder_image_url` | Break an existing placeholders.dev URL into the options it actually uses, filling in the defaults the image API would apply and listing any query parameters it ignores. Useful before editing placeholder URLs already in a codebase. | Callable read-only tool |
| `generate_placeholder_image_url` | Build a placeholders.dev image URL from a description of the placeholder wanted, such as "1200x630 dark social share image saying Hello World". Returns the URL plus ready-to-paste HTML and Markdown, and shows a preview on the page. Every va | 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 placeholders.dev changes its tools.
- **No account needed.** These calls are credential-free registry reads. For tools that need a session on placeholders.dev, browse the site itself or check back when the registry lists more tools.
