Policy-aware exact-ID completion
The server implements MCP completion/complete for exact-ID arguments where the strict policy already contains a domain-specific public identifier array. Compatible clients can complete guild, channel, role, thread, user, and integration prefixes in eligible resource templates and prompts without a Discord request. Suggestions never come from names, live inventories, message data, opaque invite references, webhook identifiers, operation keys, local paths, protected-user IDs, mention-user IDs, or count-only policy fields.
Completion accepts only an empty or decimal prefix, combines only the exact policy fields declared for that argument, removes duplicates, sorts deterministically, and returns at most 100 values. The callback does not read local activity, access the filesystem, persist data, or widen the policy enforced when the resulting resource or prompt is used. A configured identifier can appear only where that policy domain already exposes it through discord://connector/policy.
The same bindings work for legacy 2025 clients and clients pinned to MCP 2026-07-28. Catalog mode advertises the completion capability and verifies every policy binding, but it deliberately omits its synthetic policy so every policy-bound result is empty. The independent static tool-access template completes only canonical public tool names and never reads a policy. catalog --check --json binds the content-free policy-completion manifest and negotiated capabilities into the contract digest, and catalog --html renders those routes without configured identifier values.
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.