Rennie
b97abdbe30
Add read-only policy support to MCP tool requests ( #46042 )
...
## Why
Read-only MCP discovery and invocation need a consistent policy across requests, connection reuse, and tool catalogs. Reusing an unrestricted connection or cached catalog can bypass filtered discovery.
## What changed
- Thread `requires_read_only_mcp_tools` through MCP configuration and client setup, leaving it disabled by default.
- When enabled, set `openai/readOnly` to `true` in `tools/list` and `tools/call` request metadata, overriding a caller-supplied `false` while preserving other metadata, pagination, and arguments.
- Include the policy in connection identity and bypass shared Apps and persistent tool catalog caches for read-only connections.
## Testing
Add coverage for metadata propagation in legacy and modern protocol modes, preservation through session recovery, and isolation from unrestricted connections and shared Apps catalogs.
GitOrigin-RevId: f4a3a4021a54e302bffd53f08092b080c056246b
2026-09-16 22:25:54 +00:00
..
2026-09-16 22:25:54 +00:00
2026-09-11 17:03:21 +00:00
2026-09-02 22:45:19 +00:00
2026-09-11 22:55:38 +00:00
2026-09-10 18:24:13 +00:00
2026-09-10 19:41:14 +00:00
2026-09-11 01:57:54 +00:00
2026-09-16 04:59:23 +00:00
2026-09-16 21:50:07 +00:00
2026-08-20 17:46:05 +00:00
2026-08-20 17:46:05 +00:00
2026-09-09 17:56:33 +00:00
2026-08-13 00:00:16 +00:00
2026-09-11 19:13:04 +00:00
2026-09-15 18:23:08 +00:00
2026-08-29 03:44:01 +00:00
2026-08-25 21:34:05 +00:00
2026-09-16 00:20:40 +00:00
2026-09-16 00:20:40 +00:00
2026-09-03 16:21:10 +00:00
2026-08-13 00:00:16 +00:00
2026-09-16 20:32:52 +00:00
2026-09-14 15:06:28 +00:00
2026-08-25 23:42:50 +00:00
2026-09-14 21:33:45 +00:00
2026-09-12 18:41:47 +00:00
2026-09-15 21:19:08 +00:00
2026-09-11 21:32:04 +00:00
2026-09-15 21:19:08 +00:00
2026-09-15 21:19:08 +00:00
2026-09-16 18:54:45 +00:00
2026-09-09 18:40:53 +00:00
2026-08-20 18:29:35 +00:00
2026-08-27 00:02:26 +00:00
2026-08-20 18:29:35 +00:00
2026-09-13 06:53:20 +00:00
2026-08-26 16:28:35 +00:00
2026-09-13 06:07:03 +00:00
2026-09-01 00:42:19 +00:00
2026-09-09 03:17:48 +00:00
2026-09-11 20:27:37 +00:00
2026-09-05 01:04:12 +00:00
2026-09-15 21:19:08 +00:00
2026-09-16 19:25:50 +00:00
2026-09-10 16:02:36 +00:00
2026-09-15 21:19:08 +00:00
2026-09-11 17:01:17 +00:00
2026-09-11 21:32:04 +00:00
2026-09-10 09:50:59 +00:00
2026-09-16 22:25:29 +00:00
2026-09-16 21:01:13 +00:00
2026-09-15 20:41:39 +00:00
2026-09-16 21:15:09 +00:00
2026-08-30 14:04:06 +00:00
2026-09-13 15:47:59 +00:00
2026-09-15 21:19:08 +00:00
2026-09-08 20:37:30 +00:00
2026-08-25 01:27:18 +00:00
2026-09-15 21:19:08 +00:00
2026-09-01 15:04:11 +00:00
2026-06-15 21:53:47 -07:00
2026-09-15 14:45:35 +00:00
2026-09-15 15:03:29 +00:00
2026-08-27 00:02:26 +00:00
2026-09-14 16:30:00 +00:00
2026-09-16 20:32:52 +00:00
2026-09-03 15:12:02 +00:00
2026-08-27 20:31:40 +00:00
2026-08-04 15:23:43 +00:00
2026-09-11 14:25:56 +00:00
2026-09-16 20:32:52 +00:00
2026-09-16 20:32:52 +00:00
2026-09-15 22:52:56 +00:00
2026-09-07 17:26:10 +00:00
2026-09-16 21:50:07 +00:00
2026-05-18 21:03:51 -07:00
2026-09-16 00:20:40 +00:00
2026-08-13 00:00:16 +00:00
2026-09-16 21:01:13 +00:00
2026-09-15 23:39:40 +00:00
2026-09-10 03:18:28 +00:00
2026-09-16 12:09:50 +00:00
2026-08-20 17:46:05 +00:00
2026-08-29 03:28:19 +00:00
2026-09-07 15:10:37 +00:00
2026-08-27 00:02:26 +00:00
2026-09-04 12:08:02 +00:00
2026-09-16 22:25:29 +00:00
2026-08-25 23:42:50 +00:00
2026-09-01 14:43:27 +00:00
2026-06-08 13:55:15 -07:00
2026-09-14 19:39:31 +00:00
2026-09-11 22:55:38 +00:00
2026-09-16 21:01:13 +00:00
2026-09-15 23:39:40 +00:00
2026-09-10 21:51:34 +00:00
2026-09-11 16:41:56 +00:00
2026-09-16 21:01:13 +00:00
2026-07-22 20:23:35 +00:00
2026-09-15 04:20:38 +00:00
2026-08-31 22:38:23 +00:00
2026-08-01 01:17:26 +00:00
2026-09-07 20:25:30 +00:00
2026-08-31 22:29:40 +00:00
2026-09-11 21:32:04 +00:00
2026-09-09 18:50:32 +00:00
2026-09-16 18:21:22 +00:00
2026-09-16 21:01:13 +00:00
2026-08-13 00:00:16 +00:00
2026-08-31 20:50:44 +00:00
2026-08-31 20:50:44 +00:00
2026-09-15 23:00:48 +00:00
2026-09-12 22:28:41 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-09-15 21:19:08 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 18:24:13 +00:00
2026-08-26 03:28:57 +00:00
2026-09-15 04:20:38 +00:00
2026-09-02 22:45:19 +00:00
2026-09-15 22:52:56 +00:00
2026-09-11 21:32:04 +00:00
2026-09-09 04:07:40 +00:00
2026-07-23 19:19:35 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 17:56:33 +00:00
2026-09-16 22:25:54 +00:00
2026-09-16 21:50:07 +00:00
2026-09-09 17:56:33 +00:00
2026-09-09 23:23:59 +00:00
2026-08-25 17:27:04 +00:00
2026-09-08 20:59:50 +00:00
2026-08-20 17:46:05 +00:00
2026-09-16 21:41:23 +00:00
2026-08-27 01:22:23 +00:00
2026-09-11 19:13:04 +00:00
2026-09-08 16:24:38 +00:00
2026-09-09 15:54:07 +00:00
2026-09-09 18:04:04 +00:00
2026-09-09 17:56:33 +00:00
2026-09-13 15:47:59 +00:00
2026-08-13 00:00:16 +00:00
2026-08-13 00:00:16 +00:00
2026-09-16 01:16:35 +00:00
2026-08-28 09:48:13 +00:00
2026-09-11 22:55:38 +00:00
2026-09-02 22:45:19 +00:00
2026-08-30 07:40:36 +00:00
2026-08-30 14:04:06 +00:00
2026-08-20 17:46:05 +00:00
2026-09-13 06:53:20 +00:00
2026-08-30 14:04:06 +00:00
2026-09-16 00:54:58 +00:00
2026-09-04 20:38:08 +00:00
2026-09-04 12:08:02 +00:00
2026-09-07 17:35:23 +00:00
2026-08-28 15:44:48 +00:00
2026-09-07 17:35:23 +00:00
2026-09-08 22:31:49 +00:00
2026-08-10 19:26:52 +00:00
2026-08-13 00:00:16 +00:00
2026-08-28 18:07:40 +00:00
2026-09-11 19:13:04 +00:00
2026-08-14 01:23:59 +00:00
2026-08-13 00:00:16 +00:00
2026-09-09 04:07:40 +00:00
2026-09-13 06:07:03 +00:00
2026-09-02 23:58:24 +00:00
2026-08-20 06:29:32 +00:00