Onlay turns your agent’s HTML or Markdown into a link you can share. Comment or edit right on the page, and your agent picks it up and updates the same link.
curl -fsSL https://get.onlay.io/install.sh | sh
irm https://get.onlay.io/install.ps1 | iex
claude mcp add --transport http onlay https://api.onlay.io/mcp # then, inside a session: /mcp → onlay → Authenticate
[mcp_servers.onlay] url = "https://api.onlay.io/mcp" # then: codex mcp login onlay
{
"mcpServers": {
"onlay": { "url": "https://api.onlay.io/mcp" }
}
}
{
"servers": {
"onlay": { "type": "http", "url": "https://api.onlay.io/mcp" }
}
}
{
"mcpServers": {
"onlay": { "type": "http", "url": "https://api.onlay.io/mcp" }
}
}
For agents with no filesystem, or no place to run a CLI.
You’ll need to sign in the first time you run the MCP server. No browser there? Use an API key instead.
“Publish this with Onlay.”
Pin a comment on any of these pages. A demo agent replies.
Comment on a slide, a title, an illustration. The deck is a page too.
Pin a comment on a card, a tab bar, a number. Fix a label on the screen itself.
Select text to comment on the wording, the argument, or the diagram.
Hover a name, switch the quarter, pin a person or an agent. Your settings and your comments both reach the agent.
Comment on the headline, a card, the score. The game is a page too.
Comment on a screen, a step, an arrow. The plan is a page too.
Share one link, everyone votes for a weekend, the agent pulls the result. Pages can ask questions too.
Edit a sentence, comment on selected text, or pin a comment to a chart or image. Your agent gets the feedback with the part of the page it refers to.
Each step hands its result to the next one. Nothing is saved until the last step. Show a progress bar too.
When editing is enabled, change a sentence directly on the page.
Agent gets: the wording as published and yours.
Select the words you want to discuss, then choose Comment.
Agent gets: your comment and the words you selected.
Get started
Add a log in link?
Buttons, charts, images, wireframes. Hover, click, and a numbered pin lands where you pointed.
Agent gets: your comment and the element it is pinned to.
Sometimes a circle says it faster. Draw over the page, then add your comment.
Agent gets: a picture of the page with your marks.
Step two: invite people
Step two: invite people
Like this one:
Show it instead of describing it: paste a picture straight into the comment.
Agent gets: the picture you pasted, beside your words.
$ onlay pull
region: "us"
digest: true
from: Mia
Ask your agent to add controls for the choices you need to make—for example, a slider to adjust a layout’s spacing. Try the options on the page, then ask your agent to use your settings.
Agent gets: the value each reader chose.
Every account starts on Free. Readers never pay. Go Pro when you share work with clients, a team or the public.
$0
For trying it out and personal use.
$10per month, billed yearly · $12 monthly
For sharing work with clients, a team or the public.
Let your agent hand you a page instead of plain text. HTML can be far more expressive and can be fun to interact with.
Ask for an implementation plan. Get a mockup of each screen and a diagram of the flow instead of a wall of text in a terminal.
Tables, charts, SVG, mockups. Your agent can show the shape of a plan instead of explaining it.
Sliders and switches let you tune a design by hand. The settings you pick go straight back to the agent.
Ask your agent to compare three options in a table or chart. Comment on the details you want it to reconsider.
Share the link the agent provides with colleagues and stakeholders. They can provide feedback directly which your agent will see.
When you see the work, you have opinions. When you have opinions, the agent gets better feedback. That is the whole point.
With thanks, from The unreasonable effectiveness of HTML.
Install Onlay’s command-line tool (CLI), or connect your agent to the MCP server. Then ask: “Publish this with Onlay.”
curl -fsSL https://get.onlay.io/install.sh | sh
irm https://get.onlay.io/install.ps1 | iex
You’ll need to sign in after installing the CLI. No browser? Use an API key instead.
This also installs a skill, so your agent knows how to push and pull.
Works with Claude Code, Codex, Cursor etc. Requires access to files, skills and a command line.
claude mcp add --transport http onlay https://api.onlay.io/mcp # then, inside a session: /mcp → onlay → Authenticate
[mcp_servers.onlay] url = "https://api.onlay.io/mcp" # then: codex mcp login onlay
{
"mcpServers": {
"onlay": { "url": "https://api.onlay.io/mcp" }
}
}
{
"servers": {
"onlay": { "type": "http", "url": "https://api.onlay.io/mcp" }
}
}
{
"mcpServers": {
"onlay": { "type": "http", "url": "https://api.onlay.io/mcp" }
}
}
For agents with no filesystem, or no place to run a CLI.
You’ll need to sign in the first time you run the MCP server. No browser there? Use an API key instead.
Agents are great at making HTML pages. Giving feedback on one is still a pain. Here is why, and how to fix it.
More and more, an agent hands you its work as an HTML page instead of a Markdown file: a plan, a report, a dashboard, a spec. HTML can do things a plain document cannot. It has styling, tables, charts, and things you can click. And since a good agent can build a small page in seconds, we are starting to send each other little web apps instead of documents. The way we review them has not changed at all.
Send someone an HTML file and that is it. You cannot update it. Every fix means a new attachment, and every old link points at the old version, so nobody knows which one is current. Want to fix a typo? You open the source, or you ask the agent to change one sentence and wait. That is a lot of work for a small change. Working on it together is basically impossible.
When someone spots a problem, there is no way to flag it right there on the page. So they type it into a chat, send an email, or take a screenshot and draw a red circle on it. The third paragraph. The blue chart. No, the other one.
Every step loses a bit of detail, and the agent that made the page never sees any of it. The best format we have for showing work is the worst one for talking about it.
Explaining where something is on a page, in words, in a chat box, is hard. You describe what you see. The agent guesses what you meant. Code fixed this years ago: in a pull request, a comment sits right on the line it is about, with the text quoted, in a thread that is either open or resolved. Every coding agent knows that loop by heart. Pages never got the same thing.
Give the page one link that never changes. The agent pushes. You open the link, fix wording right on the page, and pin a comment on anything else: a chart, a card, a sentence, a number. The agent pulls it all back as structured data, laid out like a pull-request review: the words you quoted, the block they sit in, the thread, and whether it is done. It makes the changes, pushes v2 to the same link, replies, and closes the threads. Then you go again, until it is good enough to send on.
k7m2q9x4vb1n · v2 v2: Softened the rollout date; retitled the revenue chart to Q3. Edits (1) — a reader rewrote these; apply each to your source - The rollout reaches every enterprise tenant by the end of Q3. + The rollout is targeted at every enterprise tenant for Q3. block: summary-p2 (<p>) from: Mira Comments (1) — answer with: onlay reply k7m2q9x4vb1n <thread> "…" [--resolve] thread: t-2c9f block: chart-revenue (<figure>) point: 62% across, 18% down the block status: open from: Mira (reviewer) said: Retitle this to Q3 only. The Q4 bars are forecasts.
| You want to | With a file | With Onlay |
|---|---|---|
| Fix a typo | Open the source, or ask the agent and wait | Click the sentence, type, done |
| Point at a chart | Describe it, or send a screenshot | Pin a comment on it |
| Send a new version | A new attachment. Old links go stale. | Same link, now v2 |
| Tell the agent | Paste your notes into a chat | It pulls them, replies, and closes the threads |
Today the owner reads the comments, then switches to a terminal and types onlay pull. Put one button on the page that does it, and show what the agent is doing, within ten seconds.
A request table and a mutation only the owner’s signed token can call. A claim, so two sessions never act on one request.
The CLI subscribes with the API key and prints one JSON line per request. Works with any agent that can run a process.
An Agent tool in the owner’s toolbar, with a light when somebody is listening. It follows the request: sent, picked up, pulled.
On for every owner. Watch the time from last comment to next version, and how many requests nobody picks up.
Can a request carry a note in the owner’s own words, or only the fixed kinds?
Readers are pinning comments on the page your agent pushed. Click a comment to resolve it before that reader gives up. Lose three readers and the review is over.
Tidewatch
Tidewatch shows the next high and low for any beach, with the moon and the swell alongside.
The whole coastline, not just the harbours.
Phase and wave height beside every tide.
A week of tides cached on the phone.
Today at Whitby
Resolve the comments before readers give up. Click a comment to resolve.
Comments three people pinned on pages from three agents, and the threads the agents resolved. Hover a name, click to pin it.
Home, a document and a thread. Every label on the screens is real text, so you can fix a word in place or pin a comment on a card, a tab, a number.
“Billed monthly” on this row contradicts the annual discount two rows down. Can the agent make the table say which one wins, and keep the footnote to one line?
Poll · Lisbon trip0 of 5 voted
Pick every weekend you can do. The votes are shared, and the agent books the one most people picked.
Share the link with your mates. Everyone votes on the same page, and when your agent pulls the document it sees the result and can book the trip.You are voting as Eli. Change your mind any time.
The new onboarding flow
The whole thing should take
under two minutes on a good connection.
under two minutes
Is that measured?
Measured. Adding the number in v2.