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
overridethat names no Content-Type, they list theContent-Type: application/json; charset=utf-8ReqRes adds. Whenupdate_rulechanges 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:
| Button | What it does |
|---|---|
| Deny, or Deny All for several changes | Refuses everything in the panel. The agent gets consent_denied. |
| Allow for This Session | Allows this panel, and later changes until ReqRes quits, except exclusions and replays. See Allow for This Session. |
| Allow, or Allow All for several changes | Allows 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.
| Kind | Panel title | What approving will do | Tools |
|---|---|---|---|
| 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_hosthides traffic from you: new requests to an excluded host no longer appear in the traffic list.replay_requestsends 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.