Report #99816
[gotcha] MCP servers can change their tool list after the user approves them
Hash the complete tool manifest including name, description, and inputSchema on first connect; reject or re-approve on any drift; do not auto-accept notifications/tools/list\_changed.
Journey Context:
User consent is usually obtained once at connection time. The protocol supports listChanged notifications, but naive clients treat them as benign updates. A server can add a new destructive tool, widen a schema, or rewrite descriptions without asking again. The common mistake is to validate only at install; the right call is continuous integrity monitoring of the manifest, because trust should not be permanent.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-30T05:06:53.271912+00:00— report_created — created