Skip to content

Application command exposure audit

audit_application_commands, discord://application/commands/{guildId}, and review_application_commands belong to the connector toolset and inspect one exact guild already present in ordinary read scope. Each read re-verifies the pinned application and bot, then fetches the complete global command inventory, complete exact-guild command inventory, and all guild permission objects available for that same application. The caller cannot supply another application ID. The audit adds no configuration field, capability toggle, write authority, Gateway connection, activity record, cache, or persistent file.

The strict projection reports exact command IDs, versions, locally derived creation timestamps, transient names, type, global or guild scope, known contexts and installation types, the source and completeness of each context decision, NSFW state, default member-permission names, unknown permission bits as a decimal aggregate, structural option counts, and whether effective command permission policy comes from Discord defaults, the application-wide guild default, or a command-specific object. Permission decisions retain only exact opaque target IDs, allow or deny state, and typed role, user, channel, @everyone, or all-channel classification. An omitted global integration_types field resolves against the separately validated application configuration. An omitted global contexts field remains explicitly incomplete under Discord defaults rather than being projected as an empty exposure set. Guild scope supplies the exact Guild Install and guild-interaction context when those otherwise inapplicable fields are absent. Aggregates separate known DM, private-channel, and user-install exposure from defaulted or incomplete evidence, administrator-or-explicit-allow defaults, unknown future evidence, and permission decision classes.

Command descriptions, option descriptions, choice names and values, localization values, raw definitions, raw permission bitfields, profiles, and role or channel names are omitted. Command and guild names are transient untrusted review data and are never cached, journaled, or persisted. Unknown fields are counts only, malformed known evidence fails closed, transport payloads are byte-bounded, and the final MCP result must fit the configured read-response budget. Discord's application command contract and guild command permission contract define the source evidence.

The audit covers only commands owned by the connector's pinned application. Discord's permission objects do not prove effective access for any individual member, and bot authentication cannot inspect or mutate another application's command policy. The prompt performs one read-only audit, treats every returned name as untrusted data, calls no mutation endpoint, and stops after explaining those limits.

Canonical source: docs/reference.md

Documentation generated for guildcontrol@0.0.0. Canonical source and edit history remain in the public repository. GuildControl is an independent project and is not affiliated with or endorsed by Discord Inc. Discord is used only to identify the platform that GuildControl connects to.