Skip to main content
Glama
Guildora
by az-xx

Check who can access a channel

check_access
Read-onlyIdempotent

Determine who can see a Discord channel or what a member or role can do there after roles and overwrites combine, including which overwrites cause the result; useful for private ticket/staff channels.

Instructions

Explains channel access after roles and overwrites are combined. With "member" or "role": what they can and cannot do there, and which overwrites cause it. Without either: who can see the channel (roles, specific members, and a member count when available). Use it to check private ticket or staff channels.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "channel": "<channel>"
    },
    "name": "check_access"
  }
}

Input Schema

NameRequiredDescriptionDefault
roleNoCheck this role (ID, mention or name).
guildNoServer ID or name. Optional if DISCORD_GUILD_ID is set or the bot is in one server.
memberNoCheck this member (ID, mention or name).
channelYesChannel, category or thread: ID, <#mention>, link, or name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.0

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds real context beyond that: it explains that results come from combining roles and overwrites, and that output differs by mode (permissions plus causative overwrites vs. visibility lists and a member count). Return shape is described at a useful level of abstraction with no output schema present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core behavior, then the two modes, then a usage hint; no filler sentences. The quoted-parameter phrasing ('With "member" or "role": ...') is slightly telegraphic but compact rather than wasteful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter read tool with full annotation coverage and no output schema, the definition covers purpose, mode semantics, result content, and a use case. Minor gaps remain around combined member+role behavior and permission prerequisites, so it is strong but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so a baseline of 3 applies, but the description goes further by explaining the semantic effect of supplying 'member'/'role' versus omitting both — the mode switch is the key thing an agent must understand. It still doesn't clarify what happens when both member and role are provided, which is the one ambiguity left.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('explains channel access after roles and overwrites are combined') and distinguishes its two operating modes. It does not name sibling tools, but the framing as an access explanation rather than a channel fetch implicitly separates it from get_channel/list_channels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a concrete usage scenario: 'Use it to check private ticket or staff channels,' and clarifies which parameter combinations select which mode. It lacks explicit when-not guidance or a named alternative, but the context is clear enough to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.