Skip to main content
Glama

Server structure (admin)

discord_admin_overview
Read-only

Retrieve a Discord server's categories, channels, access rules, and role permissions before making administrative changes.

Instructions

The whole server's structure: every category and channel (IDs, types, private or not, which roles have explicit access) plus all roles with their permissions. Use before changing anything.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "discord_admin_overview"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true and openWorldHint=true, so safety is covered by structured data. The description adds value beyond that by spelling out exactly what is returned (channel IDs, types, private status, explicit role access, role permission sets) — important because there is no output schema. It omits two things an agent would want for a full-server dump: that it likely requires elevated permissions, and whether the response can be large or truncated.

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

Conciseness5/5

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

Two sentences: the first front-loads what is returned, the second gives the usage rule. Every clause carries information (IDs, types, privacy, role access, permissions) and there is no filler or repetition of the title.

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 zero-parameter, read-only overview tool with no output schema, the description covers the return contents well enough for an agent to decide it is the right call. The remaining gaps — permission requirements and possible response size/pagination — are real but minor against the tool's simplicity and its readOnly annotation.

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?

The tool takes zero parameters, so there is no parameter semantics to explain and the baseline of 4 applies. The description does not waste effort on nonexistent inputs.

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?

The description names the resource precisely ('the whole server's structure') and enumerates the payload: every category and channel with IDs, types, privacy flag and explicit role access, plus all roles with permissions. That is far more specific than a name restatement. It stops short of explicitly distinguishing itself from siblings like discord_admin_get_server or discord_server_info, so an agent must infer the difference from the 'whole structure' phrasing.

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

Usage Guidelines3/5

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

'Use before changing anything' gives one clear trigger context for a read-before-write workflow, which is genuinely useful guidance. However, no alternative is named (e.g. get_server for a lighter fetch, or get_channel for a single channel), and there is no when-not guidance, so the agent is left to guess when a narrower sibling is preferable.

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