Feedback

Get reviewer comments back into your agent

Publish the HTML your agent made to an Artifact Publisher link and send it to your reviewers. Anyone with the link can comment on the whole page or on a selected passage, no account needed. Your agent reads the comments back with get_feedback, sees which passage each one is about, makes the change and answers with reply_to_feedback.

Updated

By Angle Labs GmbH. Written on 2 November 2026.

The short answer

Have your agent publish the page with Artifact Publisher, an MCP server, with comments on. Send the link. A reviewer opens it in any browser, selects a sentence or a number on the page and writes a comment about it, or writes a comment about the page as a whole. They do not need an account, and the name field is optional. Back in your agent, one prompt reads the comments, with the passage each one points at, and the agent can fix the page and reply to each comment.

See it on a real page

This CI health report is a live page published with comments on:CI health report, week 42. Open it to see what a reviewer sees: the report itself, and a comments bubble that opens the comment form.

1. Connect your agent

Artifact Publisher works with any MCP client that can reach https://app.artifactpublisher.com/mcp. Claude Code and the Codex CLI can sign in in the browser, with no key to copy. For Claude Code:

claude mcp add --transport http artifact-publisher \
  https://app.artifactpublisher.com/mcp

For the Codex CLI:

codex mcp add artifact-publisher --url https://app.artifactpublisher.com/mcp

Cursor signs in with your browser too, so there is no key to copy: add the server URL with no key or headers. The Cursor setup is in Share Cursor or Codex CLI output as a web page. Other clients use a scoped publisher key sent as Authorization: Bearer. Mint it onyour dashboard: it is shown once, and only a hash is stored. Those clients are inPublish HTML over MCP.

2. Publish the page with comments on

The page runs in a sandbox with no network access, so scripts must be inline and cannot fetch anything. Ask for everything inline:

Write this report as one self-contained HTML page, with all CSS, scripts and data inline and nothing loaded from other sites. Publish it with the artifact-publisher MCP server as a public artifact with comments on, titled "Weekly report", and reply with the share link and the artifact_id.

The agent calls publish_artifact and gets back the link,https://app.artifactpublisher.com/artifact/<slug>. A public link opens for anyone who has it, is not listed anywhere, and asks search engines not to index it.

3. Reviewers comment on the page or on a passage

  • To comment on a passage, the reviewer selects text in the page and writes the comment. The comment keeps the quoted passage.
  • To comment on the whole page, they open the comments from the bubble and write a page comment.
  • Each comment can be marked as a note, a request or a blocker, and is pinned to the version the reviewer was reading.
  • No account is needed on a public link. The name field is optional.

4. Your agent reads the comments

Read the comments on artifact <artifact_id> with the artifact-publisher MCP server. For each one, show me the passage it is about and what the reviewer asked for.

The agent calls get_feedback. Each comment comes back with the version it was made on, the reviewer's text, and an anchor: either page, or text_quote with the exact passage the reviewer selected. A trimmed example of one comment:

{
  "comment_id": "<comment_id>",
  "version": 1,
  "reviewer_name": null,
  "anchor": { "kind": "text_quote", "exact": "<the passage the reviewer selected>", … },
  "body": "<what the reviewer wrote>",
  "severity": "request",
  "reply": null
}

There are no webhooks: the agent reads the comments when you ask it to. If a later version no longer contains a quoted passage, the comment is still returned, and get_feedback reports that the passage was not found.

5. Fix the page and answer each comment

Make the changes those comments ask for, publish the result as a new version of the same artifact, and reply to each comment with what you changed.

update_artifact adds a new version behind the same link, so the reviewer keeps the link they have.reply_to_feedback posts one answer per comment, and the answer shows under that comment on the page.

Limits to know

  • One self-contained HTML document per version, up to 10 MiB of UTF-8.
  • Scripts run inline only, with no network: CDN libraries, web fonts, remote images and API calls do not load.
  • A public link is not authenticated. Anyone it is forwarded to can open it and comment. To limit it, see Share a dashboard on an unlisted, revocable link.
  • Each comment takes one reply from the agent.

Next