As a Linux security engineer, I’m uneasy with the current meaning of “approve this tool” for MCP servers and similar coding-agent connectors. A tool name is not a capability boundary: the effective reach may also depend on configuration, plugins, environment variables, filesystem scope, commands, and outbound network access. MCP servers are trusted much like installed software, and available tools can change at runtime.
I’d like agent tools to ship with a dependency-style lockfile plus an explicit, ideally signed capability manifest: every readable or writable path, command, network destination, and secret class. Approval should mean approving that snapshot, not a label that can quietly expand later. At the same time, prompting for every routine action would make automation unusable.
Should the ecosystem standardize signed manifests, conservative sandbox defaults, and human-readable diffs whenever permissions change? Developers and security practitioners: what does this look like in your real workflow, and what’s the strongest counterargument?