Skip to content
Docs menu · AI agents

AI agents

New in 1.1

Approve agent changes

On this page

By default, ReqRes asks you before an agent changes rules, host filters, capture or the list of hosts ReqRes does not record. You answer in an approval panel, and nothing changes until you do.

Reads never ask

Read tools run without a panel, and ReqRes redacts what they return. See Read tools (18) and Control what agents see.

The approval panel

When an agent asks for a change, ReqRes waits 0.6 seconds, then opens a single panel that lists every change that arrived in that time. A change that arrives while the panel is open waits for the next panel.

  • The title says what the agent wants. With several changes, the title comes from the most serious one.
  • The line below it reads "Sent through the MCP bridge. Nothing happens until you answer."
  • One line states what approving will do. Then each change is listed with its details.
  • The panel shows what the agent sends unredacted, such as the header values a rule sets and a replay's full URL. The URL of a captured request it saves, mocks or deletes appears redacted.
  • For a rule, the details also show what ReqRes adds or keeps. For a new override that names no Content-Type, they list the Content-Type: application/json; charset=utf-8 ReqRes adds. When update_rule changes a rule's mode, the panel names the status and response headers the rule keeps, such as "Status kept: every response the rule matches comes back as 200, in place of the server's".
  • The footer shows "Expires in" and the seconds left. The limit is 45 seconds.

Answer with one of these buttons:

ButtonWhat it does
Deny, or Deny All for several changesRefuses everything in the panel. The agent gets consent_denied.
Allow for This SessionAllows this panel, and later changes until ReqRes quits, except exclusions and replays. See Allow for This Session.
Allow, or Allow All for several changesAllows the changes in this panel only.
  • The panel never takes the keyboard. Your key presses still go to the window you are typing in, so Return cannot approve a change and Esc cannot deny one. Answer the panel with a click, Deny included.
  • The Allow buttons stay inactive for 0.4 seconds after the panel appears, so a click meant for another window cannot approve.
  • If you do not answer within 45 seconds, nothing changes. The agent gets consent_timeout, which says nobody answered, not that you refused. It may ask again.

Five kinds of change

Each change has a kind. The kind sets the panel title, the line that says what approving will do, and the colour of the icons. VoiceOver reads the kind before each change. Exclusions have their own title and line, described below the table.

KindPanel titleWhat approving will doTools
Changes what ReqRes watches"An AI agent wants to change ReqRes""This changes what ReqRes watches. Your traffic is not altered."add_host, start_capture, stop_capture
Writes captured traffic to a file"An AI agent wants to save captured traffic to a file""This puts captured traffic on disk, where it outlives the capture run and ReqRes no longer decides who reads it."export_sessions, save_session
Rewrites live traffic"An AI agent wants to change what your apps receive""Your apps will receive what these rules say, not what the server sent."create_rule, update_rule, mock_from_session, exclude_host
Deletes data"An AI agent wants to delete something""This removes things from ReqRes. It cannot be undone."remove_host, delete_rule, clear_sessions, delete_saved_session
Sends a real request to another server"An AI agent wants to send a request to a real server""This sends a real request over the network to a server that is not yours. Whatever that server does when it receives it happens for real."replay_request

With several changes, the title counts them, as in "An AI agent wants to make 3 changes, including deletions".

exclude_host rewrites how a host's traffic is handled, not what your apps receive. When exclusions are the most serious changes in a panel, the panel says so instead:

  • The title reads "An AI agent wants ReqRes to stop recording a host", or "An AI agent wants ReqRes to stop recording 2 hosts" for several.
  • With other, lighter changes, it reads "An AI agent wants to make 3 changes, including hosts ReqRes stops recording".
  • The line that says what approving will do reads "ReqRes will stop recording these hosts: their connections are passed straight through, and you will no longer see their traffic. Settings ▸ Capture puts a host back."
  • VoiceOver reads "Stops recording a host" before each exclusion.

Icons are grey for changes to what ReqRes watches, orange for files and rewritten traffic, and red for deletions and real requests. The title and the text carry the same information, so colour is never the only signal.

A deleted rule or host filter can still come back, and an excluded host can be recorded again. See Undo a change.

Allow for This Session

Allow for This Session allows the current panel, and later changes without a panel until ReqRes quits. Always asked names the 2 changes it never covers.

While the grant is active, Settings ▸ MCP ▸ Approval shows a row named "This session" that reads "Changes are allowed without asking until ReqRes quits". To end the grant early, click Revoke.

Stop asking for changes

To stop the panel for most changes, turn off Settings ▸ MCP ▸ Approval ▸ Ask before an agent changes rules, hosts or capture. It is on by default. With it off, the pane reads "Agents change ReqRes immediately — except excluding a host from capture and replaying a request, which always ask. Every action still appears below."

Turning the setting back on also ends a session grant.

Neither choice lifts the free limits of 2 host filters and 1 rule. A change over the limit fails with limit_reached even after you allow it, and the log shows it as "failed". See Free version and Pro.

Every agent change is logged, asked or not. See Review and undo agent changes.

Always asked

exclude_host and replay_request open a panel every time. Allow for This Session and the Approval setting do not cover them:

  • exclude_host hides traffic from you: new requests to an excluded host no longer appear in the traffic list.
  • replay_request sends a real request to someone else's server.

When one of them arrives with other changes while a grant is active, the other changes go through and the panel shows only the exclusion or the replay. Clicking Allow for This Session on that panel allows it, but the next exclusion or replay asks again.

An exclude_host call for a host that is already excluded changes nothing, so it opens no panel.

Held requests

Answering a held request never opens the approval panel. A held request is sent on unchanged after 60 seconds, and a panel could take up to 45 seconds of that time.

Instead, Settings ▸ Breakpoints ▸ Let agents answer held requests grants it in advance. It is off by default.

  • With it on, an agent can resume, edit or abort a held request. Each decision is logged.
  • With it off, the agent gets consent_denied. You answer the request in ReqRes.

See Hold a request with a breakpoint.

Turn the MCP server off

Turning the MCP server off closes every open panel and denies its changes. See Turn the MCP server off.