kick_member
Remove a member from a Discord server by specifying their user ID, with optional server ID and reason for the action.
Instructions
Kick a member from the server.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | ||
| server_id | No | ||
| reason | No |
Implementation Reference
- The handle_kick_member function executes the tool: fetches guild and member by ID, kicks the member with optional reason, returns success message with details.@staticmethod async def handle_kick_member(discord_client, arguments: Dict[str, Any]) -> List[TextContent]: """Kick a member from the server""" guild = await discord_client.fetch_guild(int(arguments["server_id"])) member = await guild.fetch_member(int(arguments["user_id"])) member_name = member.display_name await member.kick(reason=arguments.get("reason", "Kicked via MCP")) return [TextContent( type="text", text=f"Kicked member {member_name} from {guild.name}\nReason: {arguments.get('reason', 'Kicked via MCP')}" )]
- src/discord_mcp/integrated_server.py:422-435 (registration)Registers the 'kick_member' tool in list_tools() with description and input schema requiring server_id and user_id, optional reason.Tool( name="kick_member", description="Kick a member from the server", inputSchema={ "type": "object", "properties": { "server_id": {"type": "string", "description": "Server ID"}, "user_id": {"type": "string", "description": "User ID to kick"}, "reason": {"type": "string", "description": "Reason for kick"} }, "required": ["server_id", "user_id"] } ),
- src/discord_mcp/integrated_server.py:1015-1018 (registration)Dispatch logic in call_tool() that routes 'kick_member' (in advanced_tool_names list) to AdvancedToolHandlers.handle_kick_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)