Skip to content

Commit 15ff9dc

Browse files
authored
feat(mcp): disable Playwright MCP by default (#77)
## Summary Flip Playwright MCP's default \`enabled\` from \`true\` to \`false\`. Browser tools become opt-in — neither the main agent nor the browser-pilot crew sees \`browser_navigate\`, \`browser_click\`, \`browser_screenshot\`, etc. until the user explicitly enables the Playwright server from the MCP settings UI. ## Why The main agent shouldn't reach for browser tools unprompted. The intent is: - Browser work → \`use_crew(\"browser-pilot\", ...)\` deliberately - Main agent stays focused on orchestration When the user enables Playwright via the UI, both the main agent and browser-pilot get the tools back simultaneously (current architecture is single shared MCP server, no per-crew scoping yet — that's a separate larger change tracked elsewhere). ## Affected behaviour - **Fresh installs**: no browser tools by default. User clicks Enable in MCP settings → tools restored to both the main agent and browser-pilot. - **Existing users**: their \`mcp.json\` already has \`enabled: true\` from when they first installed; this PR doesn't migrate that. They keep browser tools unless they manually disable. ## Test plan - [x] \`npx tsc --noEmit\` clean - [ ] Fresh install: confirm Playwright doesn't show in the agent's tool list - [ ] Enable Playwright from MCP settings: confirm \`browser_*\` tools reappear, browser-pilot can run - [ ] Disable again: confirm both surfaces lose the tools
2 parents e59a355 + a340c26 commit 15ff9dc

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

src/mcp/defaults.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ export const MCP_DEFAULTS: Readonly<Record<string, MCPDefault>> = {
260260
requiredEnv: ["UPSTASH_REDIS_REST_URL", "UPSTASH_REDIS_REST_TOKEN"],
261261
},
262262
playwright: {
263-
description: "Browser control — Microsoft Playwright MCP. Persistent profile shared with `daemora browser` CLI logins.",
263+
description: "Browser control — Microsoft Playwright MCP. Disabled by default; enable from MCP settings when you want browser tools available to the main agent and the browser-pilot crew. Persistent profile shared with `daemora browser` CLI logins.",
264264
config: {
265265
command: "npx",
266266
args: [
@@ -277,7 +277,12 @@ export const MCP_DEFAULTS: Readonly<Record<string, MCPDefault>> = {
277277
// so the profile path lives under the user's actual dataDir rather
278278
// than a placeholder. See MCPStore.load().
279279
],
280-
enabled: true,
280+
// Off by default. The main agent shouldn't reach for browser tools
281+
// unprompted — the intent is `use_crew("browser-pilot", ...)` for
282+
// browser work, and the crew sees these tools only after the user
283+
// explicitly enables this MCP server from the Settings UI. Once
284+
// enabled, both the main agent and browser-pilot share it.
285+
enabled: false,
281286
},
282287
docsUrl: "https://github.com/microsoft/playwright-mcp",
283288
},

0 commit comments

Comments
 (0)