Siddharth Balyan
3e00a356a4
fix(mcp): one reader for mcp_servers.<name>.enabled ( #119567 )
...
The `enabled` key had four parsers. The MCP client (`_parse_boolish`) read
`enabled: 0` as on; the toolset resolver and editor (`_parse_enabled_flag`)
read it as off. The server list (`summarize_server`, `/api/mcp/servers`) read
any non-`False` value as on, so `enabled: "false"` showed on while the agent
skipped it. The catalog and `hermes mcp list` accepted only true/1/yes, so
`enabled: on` showed off while the server ran.
`tools/mcp_tool_common.py::mcp_server_enabled` is now the only reader, and
every surface calls it. `_parse_boolish` treats YAML numbers by truthiness
(0 off, other numbers on). Everything else keeps the client's semantics:
the off words are off, absent / null / junk stay on, with the existing
warning for junk.
The desktop MCP page mirrors the rule in `serverEnabled`
(`apps/desktop/src/lib/mcp-servers.ts`). One case table
(`mcp-enabled-cases.json`) drives the Python invariant test and the vitest
test, so the page and the runtime cannot drift apart again.
2026-09-22 22:00:24 +00:00
..
2026-09-18 10:12:59 -07:00
2026-09-20 12:49:02 -07:00
2026-09-20 15:32:00 -07:00
2026-09-20 09:52:22 -07:00
2026-09-20 10:04:29 -07:00
2026-09-20 10:23:28 -07:00
2026-09-20 17:00:11 -07:00
2026-09-20 00:06:06 -07:00
2026-09-20 11:51:14 -07:00
2026-09-20 11:55:07 -07:00
2026-09-20 11:55:07 -07:00
2026-09-18 10:29:47 -07:00
2026-09-20 17:30:01 +05:30
2026-09-18 10:29:47 -07:00
2026-09-20 18:25:21 -07:00
2026-09-21 01:44:42 -07:00
2026-09-18 10:28:40 -07:00
2026-09-18 10:28:40 -07:00
2026-09-20 12:47:50 -07:00
2026-09-20 18:23:02 -07:00
2026-09-22 15:55:09 +05:30
2026-09-20 12:03:06 -07:00
2026-09-18 10:16:14 -07:00
2026-09-22 01:13:23 -07:00
2026-09-21 15:02:49 -07:00
2026-09-20 15:49:52 -07:00
2026-09-22 16:16:30 +05:30
2026-09-20 15:19:55 -07:00
2026-09-20 10:16:27 -07:00
2026-09-22 13:57:51 +05:30
2026-09-22 13:57:51 +05:30
2026-09-21 10:04:32 +05:30
2026-09-22 13:57:51 +05:30
2026-09-21 10:04:32 +05:30
2026-09-22 13:57:51 +05:30
2026-09-22 13:57:51 +05:30
2026-09-22 13:57:51 +05:30
2026-09-21 10:04:32 +05:30
2026-09-21 10:04:32 +05:30
2026-09-21 10:04:32 +05:30
2026-09-20 09:20:51 -07:00
2026-09-18 10:37:36 -07:00
2026-09-19 23:57:59 -07:00
2026-09-21 01:16:30 -07:00
2026-09-18 20:34:42 -07:00
2026-09-18 12:46:28 -07:00
2026-09-20 15:50:20 -07:00
2026-09-21 01:16:30 -07:00
2026-09-19 23:50:14 -07:00
2026-09-21 01:16:30 -07:00
2026-09-20 18:50:37 -07:00
2026-09-20 00:04:54 -07:00
2026-09-20 12:53:47 -07:00
2026-09-19 02:35:45 -07:00
2026-09-20 12:53:47 -07:00
2026-09-18 12:49:13 -07:00
2026-09-18 09:54:45 -07:00
2026-09-18 09:54:45 -07:00
2026-09-21 18:39:24 -07:00
2026-09-21 18:39:24 -07:00
2026-09-18 10:10:40 -07:00
2026-09-19 03:07:47 -07:00
2026-09-19 02:36:56 -07:00
2026-09-20 12:53:47 -07:00
2026-09-21 10:40:03 -07:00
2026-09-20 10:08:02 -07:00
2026-09-20 15:30:10 -07:00
2026-09-20 10:15:49 -07:00
2026-09-20 12:04:20 -07:00
2026-09-21 18:39:24 -07:00
2026-09-18 12:49:13 -07:00
2026-09-21 23:26:19 -07:00
2026-09-18 09:54:45 -07:00
2026-09-20 12:57:59 -07:00
2026-09-20 16:32:19 -07:00
2026-09-21 18:54:23 -07:00
2026-09-19 10:02:38 -07:00
2026-09-21 09:55:40 -07:00
2026-09-22 17:08:30 +05:30
2026-09-18 10:37:36 -07:00
2026-09-18 10:25:46 -07:00
2026-09-20 12:50:53 -07:00
2026-09-18 10:37:36 -07:00
2026-09-18 10:12:59 -07:00
2026-09-22 22:00:24 +00:00
2026-09-20 00:10:26 -07:00
2026-09-20 18:22:18 -07:00
2026-09-22 17:54:42 +05:30
2026-09-22 17:54:42 +05:30
2026-09-19 23:38:13 -07:00
2026-09-18 12:47:49 -07:00
2026-09-18 12:47:49 -07:00
2026-09-20 19:02:21 -07:00
2026-09-18 10:37:36 -07:00
2026-09-18 10:37:36 -07:00
2026-09-18 10:12:59 -07:00
2026-09-19 23:46:42 -07:00
2026-09-19 23:46:42 -07:00
2026-09-20 00:10:26 -07:00
2026-09-20 00:10:26 -07:00
2026-09-20 00:10:26 -07:00
2026-09-20 00:10:26 -07:00
2026-09-20 10:07:26 -07:00
2026-09-18 12:48:42 -07:00
2026-09-18 12:48:42 -07:00
2026-09-20 12:19:28 -07:00
2026-09-19 16:20:19 +05:30
2026-09-19 23:47:17 -07:00
2026-09-20 15:34:58 -07:00
2026-09-21 01:44:16 -07:00
2026-09-21 14:26:37 +05:30
2026-09-18 10:37:36 -07:00
2026-09-20 12:59:03 -07:00
2026-09-20 11:49:00 -07:00
2026-09-21 23:26:19 -07:00
2026-09-21 15:02:49 -07:00
2026-09-21 23:56:25 -07:00
2026-09-18 15:11:47 -07:00
2026-09-19 03:07:47 -07:00
2026-09-20 12:56:25 -07:00
2026-09-22 13:57:51 +05:30
2026-09-21 23:38:16 -07:00
2026-09-19 23:41:45 -07:00
2026-09-21 13:14:22 -07:00
2026-09-20 10:44:16 -07:00
2026-09-19 01:46:29 +05:30
2026-09-20 16:32:19 -07:00
2026-09-20 10:44:16 -07:00
2026-09-18 10:02:30 -07:00
2026-09-20 11:12:48 -07:00
2026-09-18 10:30:57 -07:00
2026-09-20 12:03:43 -07:00
2026-09-22 16:16:30 +05:30
2026-09-22 16:16:30 +05:30
2026-09-22 12:52:49 +05:30
2026-09-22 12:52:49 +05:30
2026-09-22 12:52:49 +05:30
2026-09-19 03:15:10 -07:00
2026-09-19 00:33:58 +05:30
2026-09-20 16:21:37 -07:00
2026-09-18 12:51:49 -07:00
2026-09-20 16:00:26 -07:00
2026-09-20 15:32:42 -07:00
2026-09-20 10:28:07 -07:00
2026-09-20 11:20:26 -07:00
2026-09-20 11:30:03 -07:00
2026-09-18 09:59:54 -07:00
2026-09-19 10:44:26 -07:00
2026-09-19 23:51:25 -07:00
2026-09-22 13:40:29 +05:30
2026-09-19 02:21:40 -07:00
2026-09-20 10:57:35 -07:00
2026-09-19 10:10:29 -07:00
2026-09-20 10:25:30 -07:00
2026-09-20 15:28:59 -07:00
2026-09-19 12:22:44 -07:00
2026-09-19 12:22:44 -07:00
2026-09-19 09:52:18 -07:00
2026-09-19 10:54:38 -07:00
2026-09-22 01:13:23 -07:00
2026-09-22 01:13:23 -07:00
2026-09-20 18:26:41 -07:00
2026-09-20 10:14:37 -07:00
2026-09-19 03:07:47 -07:00
2026-09-18 11:03:57 -07:00
2026-09-21 14:26:37 +05:30
2026-09-18 10:08:58 -07:00
2026-09-20 10:17:04 -07:00
2026-09-20 14:23:15 -07:00