Context
The comms_release_all MCP tool (at internal/tools/comms/tools.go:227-242) currently accepts calls from any agent without caller identity validation. The forge-coordination skill states that only coordinators MAY call comms_release_all(), but this constraint is enforced only at the prompt level — any agent can invoke the tool at the MCP protocol layer.
Problem
Prompt-only access control is insufficient for safety-critical operations like releasing all file reservations. A worker agent that ignores or fails to parse the skill constraint could call comms_release_all() and release all reservations across all agents, causing data corruption or lost work.
Proposed Solution
Add caller identity validation to the comms_release_all tool handler:
- Accept a
caller_role or agent_name parameter
- Validate the caller against the comms session registry
- Reject calls from non-coordinator agents with an error response
Related
Context
The
comms_release_allMCP tool (atinternal/tools/comms/tools.go:227-242) currently accepts calls from any agent without caller identity validation. The forge-coordination skill states that only coordinators MAY callcomms_release_all(), but this constraint is enforced only at the prompt level — any agent can invoke the tool at the MCP protocol layer.Problem
Prompt-only access control is insufficient for safety-critical operations like releasing all file reservations. A worker agent that ignores or fails to parse the skill constraint could call
comms_release_all()and release all reservations across all agents, causing data corruption or lost work.Proposed Solution
Add caller identity validation to the
comms_release_alltool handler:caller_roleoragent_nameparameterRelated
internal/agentkit/content/skills/forge-coordination/SKILL.mdline 15internal/tools/comms/tools.go:227-242