Skip to content

fix(setup): keep draft creation and mailbox search behind a prompt - #2020

Merged
potiuk merged 1 commit into
apache:mainfrom
potiuk:mcp-allows-prompt
Nov 7, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
potiuk:mcp-allows-prompt

Conversation

@potiuk

@potiuk potiuk commented Nov 7, 2026

Copy link
Copy Markdown
Member

Summary

Three MCP tools were on the derived allow list, so they ran with no prompt:

  • mcp__gmail-plaintext__create_draft
  • mcp__claude_ai_Gmail__search_threads
  • mcp__ponymail__search_list

These sessions read untrusted content, so the operator should see a draft being created or a whole mailbox being searched.
This takes the three out of family-mcp-allows.json, the framework's .claude/settings.json, the recommended lists in permission-audit and verify.md, and the setup docs.
Reading a named thread or message stays allowed.

The registry comment now states the rule: list only tools that read one named item or report state.

Cost to adopters: each draft and each mailbox or list search now prompts.
security-issue-sync and security-issue-import search often, so a bulk run prompts noticeably more.
Adopters can add the entries back in their own settings.

Type of change

  • Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)

Test plan

  • prek run --from-ref <base> --to-ref HEAD --skip workspace-pytest passes
  • tools/permission-audit and tools/sandbox-lint tests pass
  • tools/dev/check-family-plugins.py passes

Gen-AI disclosure

Drafted with Claude Code and reviewed by the maintainer.

🤖 Generated with Claude Code

@potiuk
potiuk enabled auto-merge (squash) November 7, 2026 00:19
@github-actions github-actions Bot added family:setup setup-* skills family:tools tools/* family:docs Docs, MISSION.md, READMEs capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) substrate:sandbox Tool substrate: agent isolation, egress control, settings audit family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json labels Nov 7, 2026
The derived MCP allows covered create_draft and the two whole-mailbox
searches. Take them out of the registry, the framework settings and the
recommended lists, so these calls reach the operator as a prompt.

Generated-by: Claude Opus 5
@potiuk
potiuk force-pushed the mcp-allows-prompt branch from e26463f to f7b0166 Compare November 7, 2026 00:25
@potiuk
potiuk merged commit c099f3f into apache:main Nov 7, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:platform Framework / agent substrate skills (install, verify, doctor, override, status, setup bootstrap) family:dev Repo dev: .asf.yaml, spec-loop specs, Node manifests, .claude/settings.json family:docs Docs, MISSION.md, READMEs family:setup setup-* skills family:tools tools/* substrate:sandbox Tool substrate: agent isolation, egress control, settings audit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant