Visual

Identity dari Credential, Bukan Model
Identity tidak boleh berasal dari arguments tool. Flow yang sehat:
credential → principal → memberships → permissions → visible catalog → call-time authorization
Membership/ownership harus diperiksa lagi saat call, terutama pada sistem multi-tenant.
Scope Harus Berlaku Saat List dan Call
User dengan scope read seharusnya tidak melihat write tools pada tools/list, dan tetap ditolak jika mencoba memanggil write tool secara langsung.
Visibility bukan security boundary. Backend handler tetap harus enforce permission.
Annotations
readOnlyHintdestructiveHintidempotentHintopenWorldHint
Annotation harus cocok dengan behavior nyata, tetapi annotation bukan pengganti authorization.
Approval
Untuk action destructive/irreversible, approval harus dibind ke exact action + canonical arguments, single-use, dan tidak dapat dipakai ulang setelah arguments berubah.
Fail closed: policy denied tidak boleh dicari bypass; approval required berarti berhenti dan menunggu manusia.
Bangun MCP dengan Boundary yang Benar
Gunakan MCP Builder Kit sebagai starter/reference production-grade.