Skip to main content
Glama

ban_member

Remove a user from a Discord server with optional message deletion and reason specification to maintain community standards.

Instructions

Ban a user from the server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
user_idYes
server_idNo
delete_message_secondsNo
reasonNo

Implementation Reference

  • Handler function that implements the ban_member tool logic using Discord.py to ban a user from a guild with optional reason and message deletion.
    async def handle_ban_member(discord_client, arguments: Dict[str, Any]) -> List[TextContent]: """Ban a member from the server""" guild = await discord_client.fetch_guild(int(arguments["server_id"])) user = await discord_client.fetch_user(int(arguments["user_id"])) kwargs = { "reason": arguments.get("reason", "Banned via MCP") } if "delete_message_days" in arguments: kwargs["delete_message_days"] = min(arguments["delete_message_days"], 7) elif "delete_message_seconds" in arguments: kwargs["delete_message_seconds"] = arguments["delete_message_seconds"] await guild.ban(user, **kwargs) return [TextContent( type="text", text=f"Banned user {user.name} from {guild.name}\nReason: {kwargs['reason']}" )]
  • Input schema defining parameters for the ban_member tool including server_id, user_id (required), reason, and message deletion options.
    inputSchema={ "type": "object", "properties": { "server_id": {"type": "string", "description": "Server ID"}, "user_id": {"type": "string", "description": "User ID to ban"}, "reason": {"type": "string", "description": "Reason for ban"}, "delete_message_days": {"type": "number", "description": "Days of messages to delete (0-7)"}, "delete_message_seconds": {"type": "number", "description": "Seconds of messages to delete"} }, "required": ["server_id", "user_id"]
  • MCP Tool registration for ban_member including name, description, and schema.
    name="ban_member", description="Ban a member from the server with options", inputSchema={ "type": "object", "properties": { "server_id": {"type": "string", "description": "Server ID"}, "user_id": {"type": "string", "description": "User ID to ban"}, "reason": {"type": "string", "description": "Reason for ban"}, "delete_message_days": {"type": "number", "description": "Days of messages to delete (0-7)"}, "delete_message_seconds": {"type": "number", "description": "Seconds of messages to delete"} }, "required": ["server_id", "user_id"] } ),
  • Dispatch logic in call_tool that routes ban_member to AdvancedToolHandlers.handle_ban_member.
    if name in advanced_tool_names: handler_method = f"handle_{name}" if hasattr(AdvancedToolHandlers, handler_method): return await getattr(AdvancedToolHandlers, handler_method)(discord_client, arguments)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wowjinxy/mcp-discord'

If you have feedback or need assistance with the MCP directory API, please join our Discord server