Skip to content

feat(mcp): automate removal follow-ups through local agent tools - #167

Merged
JustMaris merged 8 commits into
mainfrom
feat/mcp-automation
Oct 17, 2026
Merged

JustMaris merged 8 commits into
mainfrom
feat/mcp-automation

Conversation

@JustMaris

Copy link
Copy Markdown
Member

Picks up magnus188's #159 and applies the review asks from 2026-10-13 that gate merging. This is PR A of two. Actor attribution, the docs map and the receipt-detection note come in a follow-up PR.

Changes on top of his commit:

  • Approval out of band. prepare_batch stores the preview and its digest in history.db. Approval happens on the new Automation page in the web UI, or with eraser mcp approve <plan_id>. Each approval works once and expires after 15 minutes. begin_batch spends it. eraser mcp pending lists waiting previews.
  • Platform hosts. Brokers on shared privacy or form platforms (OneTrust, TrustArc, Google Forms, etc.) may use only the exact tenant host in their catalog entry. Other brokers keep subdomain matching. Ported to the new ActionItems counters, with the MCP review predicate on PendingTask.
  • Remote address. A response from a non-public address stops further actions on the page.
  • Forward-only pipeline status. Automated writers only move a request forward. The web Confirm and Reject buttons use an explicit override.
  • Docs. eraser mcp is marked experimental in docs/stability.md. The approval flow and platform rule are in docs/mcp.md.

Rebased onto main after #165. Tests, -race and golangci-lint pass locally.

magnus188 and others added 2 commits October 17, 2026 10:24
…rd-only

- Batch previews are stored with a digest. Approval happens on the Automation page in the web UI or with eraser mcp approve, once and for 15 minutes. begin_batch spends that approval.
- eraser mcp pending lists previews waiting for approval.
- Brokers on shared privacy or form platforms may use only the exact tenant host in their catalog entry. Other brokers keep subdomain matching.
- A response from a non-public address stops further actions on the page.
- Automated pipeline updates only move a request forward. Web Confirm and Reject use an explicit override.
- Document approval, platform hosts and the experimental status of eraser mcp.
@codecov-commenter

codecov-commenter commented Oct 17, 2026 •

Copy link
Copy Markdown

… review fixes

- retry_action needs a person's approval in Eraser, like begin_batch.
- Page loads on shared platforms stay under the catalog URL's form path.
- Observe refuses a page Chrome loaded from a non-public address.
- eraser mcp approve needs a terminal; the web approval needs a same-origin browser request.
- Approval times are stored and compared in UTC.
- The CSP connect-src follows the exact-host rule.
- A failed open closes its page and frees the slot.
- Config and the broker list are loaded once per task call.
- Automation screenshots keep quality 100 (PNG); existing flows stay at 90.
- Instructions, tool descriptions, CLI help and docs describe the new approval flow.
…aser mcp experimental

- Page and request hosts are the catalog's hosts and their www. form. Subdomains are not allowed, so ExactHosts and the wildcard CSP sources go away. The shared-platform list now only decides where page loads are pinned to the form path.
- BatchApproval loses ApprovedAt and ApprovedBy, which nothing read.
- eraser mcp help, its startup line and docs/mcp.md say it is experimental.
@JustMaris
JustMaris merged commit e2d2c9d into main Oct 17, 2026
6 checks passed
@JustMaris
JustMaris deleted the feat/mcp-automation branch October 17, 2026 09:07
@dnb-robot dnb-robot Bot mentioned this pull request Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants