list_invites
View active invitation links for a Discord server to manage access and monitor existing invites.
Instructions
List active invites for a server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | No |
Implementation Reference
- src/discord_mcp/server.py:1064-1086 (handler)The handler function for the 'list_invites' tool. Fetches all active invites from the specified Discord server using guild.invites(), formats details including invite code, channel, inviter, expiration, and usage stats, and returns a formatted list.async def list_invites(server_id: str | int | None = None, ctx: Context = None) -> str: # type: ignore[override] """List active invites for a server.""" assert ctx is not None bot, config = await _acquire(ctx) guild_id = _resolve_guild_id(config, server_id) guild = await _ensure_guild(bot, guild_id) invites = await _call_discord("list invites", guild.invites()) if not invites: return f"No active invites found for {guild.name}." lines = [f"**Active invites for {guild.name}:**"] for invite in invites: inviter = invite.inviter.display_name if invite.inviter else "Unknown" expires = _format_timestamp(invite.expires_at) if invite.expires_at else "No expiry" usage = f"{invite.uses or 0}/{invite.max_uses or '∞'} uses" lines.append( f"• {invite.code} – Channel: {getattr(invite.channel, 'name', invite.channel_id)} – " f"Inviter: {inviter} – Expires: {expires} – {usage}" ) return "\n".join(lines)