-
Notifications
You must be signed in to change notification settings - Fork 2
Clarify and align per-agent MCP override semantics (mcp.config vs mcp.authz) #62
Copy link
Copy link
Closed
Description
While reviewing PR #57 (not merged at the time of writing), I noticed a pre-existing inconsistency in per-agent MCP override handling.
agents.<name>.mcp is currently typed as a full MCPConfig, so the config schema/loader accepts both:
agents.<name>.mcp.configagents.<name>.mcp.authz
However, runtime behavior does not appear to treat those fields consistently:
- per-agent
mcp.configis applied when resolving the effective MCP config - per-agent
mcp.authzappears to be parsed but ignored
Relevant code paths:
pkg/domain/config/config.goAgentOverride.MCPis*MCPConfig
pkg/sandbox/sandbox.goresolveMCPConfigcopiesenabled,group,port, andconfig, but notauthz
Why this matters:
- The public config shape suggests per-agent
mcp.authzis supported. - In practice, it does not seem to affect runtime behavior.
- This creates schema/runtime drift and makes the config surface harder to reason about.
- The new
config initPR makes this more visible because it introduces generated config documentation, but the underlying behavior looks older than that PR.
Expected outcome:
We should make schema, runtime behavior, and generated documentation agree.
Possible fixes:
-
Support per-agent
mcp.authzfully- merge it in
resolveMCPConfig - add tests covering the effective config behavior
- merge it in
-
Do not support per-agent
mcp.authz- narrow
AgentOverride.MCPto a dedicated override type - expose only intentionally supported fields
- make docs/template reflect that narrower shape
- narrow
-
In either case
- ensure generated config docs match actual supported per-agent MCP fields
- add tests for per-agent MCP override resolution
Notes:
Workspace-local .broodbox.yaml security stripping is a separate concern; this issue is about the global config schema/runtime mismatch for per-agent MCP overrides.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels